Data processing methods, devices, MEC servers, and storage media

CN117056033BActive Publication Date: 2026-08-14CHINA MOBILE CHENGDU INFORMATION & TELECOMM TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-07
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0004]然而,大量的数据处理任务给服务器带来了巨大压力,影响服务器的数据处理效率和性能

Benefits of technology

[0042]其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117056033B_ABST
    Figure CN117056033B_ABST
Patent Text Reader

Abstract

This application discloses a data processing method, apparatus, mobile edge computing (MEC) server, and storage medium. The method includes: obtaining a first request, the first request being used to request the acquisition of first data; responding to the first request, if the first data is stored in local memory, acquiring the first data from local memory, and if the first data is not stored in local memory, acquiring second data from a database; the first data is raw data obtained by the MEC server, and the second data is data obtained by serializing the raw data obtained by the MEC server; separating dynamically changing third data from the second data; performing deserialization processing on the third data to obtain fourth data; the first data includes static data from the fourth data and the second data; and sending the acquired first data. This application can reduce the amount of data processing and improve data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of edge cloud technology, and in particular to a data processing method, apparatus, mobile edge computing (MEC) server and storage medium. Background Technology

[0002] Edge cloud is a cloud computing platform built on edge infrastructure, based on the core of cloud computing technology and edge computing capabilities. Edge cloud can deploy computing and storage capabilities at the edge of the access network. When terminal devices request service data, they can directly obtain relevant data from the edge cloud, thereby reducing network pressure and lowering access latency.

[0003] In related technologies, when data is stored in the edge cloud, it needs to be converted into a suitable data format for storage, that is, the data needs to be serialized before storage; correspondingly, when data is retrieved from the edge cloud, the retrieved data needs to be converted into a suitable format for reading, that is, the data needs to be deserialized before reading.

[0004] However, the large number of data processing tasks puts enormous pressure on the server, affecting its data processing efficiency and performance. Summary of the Invention

[0005] To address the relevant technical issues, this application provides a data processing method, apparatus, MEC server, and storage medium.

[0006] The technical solution of this application embodiment is implemented as follows:

[0007] A data processing method applied to a mobile edge computing (MEC) server includes:

[0008] Obtain the first request, which is used to request the acquisition of the first data;

[0009] In response to the first request, the first data is obtained in one of the following ways:

[0010] If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server.

[0011] If the first data is not stored in local memory, the second data is obtained from the database, where the database stores data that is the serialized version of the original data obtained from the MEC server; the dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data.

[0012] Send out the first data that has been acquired.

[0013] In the above scheme, separating the dynamically changing third data from the second data includes:

[0014] Determine the number of times at least one data object in the second data is referenced;

[0015] The attributes of each data object are determined based on the number of times each data object is referenced; the attributes indicate whether the data corresponding to the data object is dynamic or static.

[0016] Based on the attributes of all data objects, dynamically changing third data is extracted from the second data.

[0017] In the above scheme, obtaining the second data from the database includes:

[0018] The second data is obtained from either the first database or the second database; the first database stores a portion of the data obtained by the MEC server, and the second database stores all the data obtained by the MEC server.

[0019] In the above scheme, obtaining the second data from the first database or the second database includes:

[0020] If the second data is stored in the first database, the second data is retrieved from the first database;

[0021] Alternatively, if the first database does not store the second data, the second data may be retrieved from the second database.

[0022] The method in the above scheme further includes:

[0023] Obtain relevant information about the first data; the relevant information represents the number of times the first data has been requested;

[0024] Based on the relevant information obtained, determine whether the first data is hot data;

[0025] If the first data is hot data, respond to the first request and obtain the first data.

[0026] In the above scheme, determining whether the first data is hot data based on the acquired relevant information includes:

[0027] When the number of times the first data is requested exceeds a preset threshold, the first data is designated as hot data.

[0028] The method in the above scheme further includes:

[0029] Update the local memory and the database.

[0030] This application also provides a data processing apparatus, including:

[0031] The first acquisition unit is used to acquire a first request, wherein the first request is used to request the acquisition of first data;

[0032] The second acquisition unit is configured to acquire the first data in response to the first request by one of the following methods:

[0033] If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server.

[0034] If the first data is not stored in local memory, the second data is obtained from the database, where the database stores data that is the serialized version of the original data obtained from the MEC server; the dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data.

[0035] The sending unit is used to send out the acquired first data.

[0036] This application also provides an MEC server, including:

[0037] A communication interface is used to receive a first request, the first request being used to request the acquisition of first data; and to send the acquired first data.

[0038] A processor, configured to respond to the first request by acquiring the first data in one of the following ways:

[0039] If the first data is stored in local memory, the first data is read directly from the local memory through the communication interface. The data stored in the local memory is the original data obtained by the MEC server.

[0040] If the first data is not stored in local memory, the second data is obtained from the database through the communication interface. The data stored in the database is the serialized data obtained from the MEC server. The dynamically changing third data is separated from the second data. The third data is deserialized to obtain the fourth data. The first data includes the static data in the fourth data and the second data.

[0041] This application also provides an MEC server, including: a processor and a memory for storing computer programs capable of running on the processor.

[0042] When the processor runs the computer program, it executes the steps of any of the above methods.

[0043] This application also provides a storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of any of the above methods.

[0044] The data processing method, apparatus, MEC server, and storage medium provided in this application embodiment obtain a first request, which is used to request the acquisition of first data; in response to the first request, the first data is acquired in one of the following ways: if the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server; if the first data is not stored in local memory, second data is acquired from a database, and the data stored in the database is the data after serialization processing of the original data obtained by the MEC server; dynamically changing third data is separated from the second data; the third data is deserialized to obtain fourth data; the first data includes the fourth data and the static data in the second data; and the acquired first data is sent out. The solution provided in this application embodiment, when the first data is stored in local memory, directly reads the data from the local memory. The read data is the raw data obtained from the MEC server, which does not require deserialization processing, thereby improving the efficiency of data acquisition. At the same time, it does not require accessing the database, so there is no need to transmit network data between the database and the server, thereby reducing the network resource consumption. When the first data is not stored in local memory, the data is obtained from the database, and the dynamically changing data in the read data is deserialized, thereby reducing the number of deserialization objects, thereby reducing the amount of data processing on the server and improving data processing efficiency. Attached Figure Description

[0045] Figure 1 This is a flowchart of data processing methods in related technologies;

[0046] Figure 2 This is a schematic flowchart of the data processing method in an embodiment of this application;

[0047] Figure 3 This is a schematic diagram of the architecture of the data processing system in an application embodiment of this application;

[0048] Figure 4 This is a schematic flowchart of the data processing method in an embodiment of this application;

[0049] Figure 5 This is a schematic diagram of the data processing device structure according to an embodiment of this application;

[0050] Figure 6 This is a schematic diagram of the MEC server structure in an embodiment of this application. Detailed Implementation

[0051] The present application will now be described in further detail with reference to the accompanying drawings and embodiments.

[0052] When a terminal device requests service data from an MEC server, if the service data is stored in the edge cloud, the MEC server can quickly retrieve the relevant data directly from the edge cloud. If the service data is not stored in the edge cloud, the MEC server retrieves the service data from the central cloud and stores it in the edge cloud, so that the terminal device can subsequently retrieve the service data directly from the edge cloud. For example, in a cloud-edge collaborative system, when a 5G application needs to access service data, it can directly retrieve the relevant data from the edge cloud. If the relevant data is not in the edge cloud, the MEC server first retrieves the relevant data from the central cloud and stores the retrieved data in the edge cloud, so that the 5G application can subsequently quickly read and write the service data through the edge cloud, thereby reducing the number of times the terminal device accesses the central cloud.

[0053] In practical applications, edge cloud databases typically consist of a primary database and a secondary database. The primary database stores a portion of the data obtained by the MEC server, while the secondary database stores all the data obtained by the MEC server. The data stored in the primary database is usually the frequently used portion, such as hot data. When retrieving data, the MEC server can first read data from the primary database, thereby reducing the amount of data accessed from the secondary database. Related technologies often use caching as the primary database, such as using a remote dictionary server (Redis) or MemCache. MemCache is a distributed high-speed caching system. Caching often employs a sharded storage architecture, distributing data across different shards according to certain rules. When reading or writing data through the primary database, the corresponding shard is determined based on the hash value of the data key, allowing data to be stored and retrieved in key-value pairs on the corresponding shard.

[0054] Figure 1 This is a schematic diagram of the data processing method in related technologies, such as... Figure 1As shown, a user sends an access request for a global wide area network (Web) application to the MEC server through an Nginx server. Nginx is a high-performance Hypertext Transfer Protocol (HTTP) and reverse proxy Web server. The MEC server retrieves the service data requested by the user from a database. In this process, the MEC server first checks if the data is stored in Redis (the first database). If the data is stored in Redis, it retrieves it from Redis; otherwise, it retrieves it from the DB (the second database). Here, DB represents the database that persistently stores all the data obtained by the MEC server.

[0055] However, in practical applications, MEC servers need to handle a large amount of data, especially hot data, which greatly increases the data processing load of EMC servers. In addition, there is a large amount of data transmission between the server and the database, which can also cause network resource occupation and intensify network competition.

[0056] The above problems can be solved by deploying a first database.

[0057] Specifically, the above problems are usually solved in the following two ways:

[0058] The first approach involves predicting hot data and loading it into the first and second databases in advance. This means storing the hot data in the first and second databases beforehand, so that terminal devices can quickly read the hot data through the edge cloud, thereby improving data processing efficiency.

[0059] The second approach is to synchronously replicate hot data by building a cluster, which means storing hot data in different caches to reduce the access volume to a single cache; or to distribute hot data across different shards to reduce the access pressure on a single shard.

[0060] However, in both of the above methods, the acquired data still needs to be deserialized, and all the acquired data needs to be deserialized. The amount of data processed by the server is large, which affects the server's data processing efficiency. At the same time, the data obtained from the database needs to be transmitted over the network to reach the server, which causes a large amount of network resources to be occupied.

[0061] Based on this, in various embodiments of this application, for the MEC server, when the first data is stored in local memory, the data is read directly from the local memory. The read data is the original data obtained by the MEC server and does not require deserialization processing, thereby improving the efficiency of data acquisition. At the same time, it does not require accessing the database, so there is no need to transmit network data between the database and the server, thereby reducing the network resource consumption. When the first data is not stored in local memory, the data is obtained from the database, and the dynamically changing data in the read data is deserialized, thereby reducing the number of deserialization objects, thereby reducing the amount of data processing on the server and improving data processing efficiency.

[0062] This application provides a data processing method applied to an MEC server, such as... Figure 2 As shown, the method includes:

[0063] Step 201: Obtain the first request, which is used to request the acquisition of the first data;

[0064] Step 202: In response to the first request, obtain the first data using one of the following methods:

[0065] If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server.

[0066] If the first data is not stored in local memory, the second data is obtained from the database, where the database stores data that is the serialized version of the original data obtained from the MEC server; the dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data.

[0067] Step 203: Send out the acquired first data.

[0068] In practical applications, in step 201, the terminal device can send a request to the MEC server through an application server such as an Nginx server. In other words, obtaining the first request can be achieved by receiving an access request sent by the Nginx server.

[0069] In practical applications, after the MEC server obtains the raw data, it first serializes the raw data before storing it. During this process, dynamically changing data in the raw data is converted into byte array form due to serialization, while static data is not serialized. In other words, static data does not change after deserialization. However, in this embodiment, dynamically changing third data is separated from the second data, and the deserialized third data is returned. For static data, there is no need to perform deserialization, thereby reducing the amount of data processing and improving data acquisition efficiency, thus improving the user experience.

[0070] In practical applications, the local memory can be deployed within the MEC server, and can be part of the server's memory or independently deployed memory.

[0071] In one embodiment, obtaining the second data from the database includes:

[0072] The second data is obtained from either a first database or a second database; the first database stores a portion of the data obtained by the MEC server, and the second database stores all the data obtained by the MEC. In practical applications, the first database may include Redis, MemCache, etc., and this embodiment does not limit this.

[0073] In practical applications, the first database stores a portion of the data obtained by the MEC server. The second data is retrieved from the first database first, which reduces the amount of access to the second database.

[0074] Based on this, in one embodiment, obtaining the second data from the first database or the second database includes:

[0075] If the second data is stored in the first database, the second data is retrieved from the first database; or, if the second data is not stored in the first database, the second data is retrieved from the second database.

[0076] In practical applications, the specific data in the second set of data can be categorized according to certain rules. That is, the second set of data can include at least one data object, each corresponding to a different category of data. When a data object is referenced, it means that the data corresponding to that object has changed. Therefore, based on the number of times a data object is referenced, dynamically changing data can be separated from the second set of data.

[0077] Based on this, in one embodiment, the process of extracting dynamically changing third data from the second data includes:

[0078] Determine the number of times at least one data object in the second data is referenced;

[0079] The attributes of each data object are determined based on the number of times each data object is referenced; the attributes indicate whether the data corresponding to the data object is dynamically changing or static.

[0080] Based on the attributes of all data objects, dynamically changing third data is extracted from the second data.

[0081] In this process, separating the dynamically changing third data from the second data can be referred to as separating the dynamic and static data of the second data, or splitting the dynamic and static data of the second data. This can be understood as separating the dynamic data and static data in the second data. The dynamic data is the data that changes dynamically, such as website traffic or images displayed on a scrolling webpage. The static data is the data that remains unchanged, such as data of structural information type.

[0082] For example, when the number of times a data object is referenced is "0", it indicates that the data object has not been referenced, and the data corresponding to the data object can be considered as static data; correspondingly, when the number of times a data object is referenced is not "0", it indicates that the data object has been referenced, and the data corresponding to the data object can be considered as dynamically changing data.

[0083] In practical applications, the number of requests for hot data is relatively large. Therefore, compared to requesting other data, requesting hot data is more likely to cause problems such as excessive server data processing load and excessive network resource consumption. Therefore, to effectively alleviate the problems of excessive server data processing load and excessive network resource consumption, the local memory can be used to store hot data; specifically, the local memory can store only hot data. Here, in practical applications, the data stored in the local memory can be the same as the data stored in the first database, or it can be a part of the data stored in the first database.

[0084] In practical applications, in order to reduce the occupation of network resources, it is possible to determine whether the first data is stored in the local memory only when the first data is hot data.

[0085] Based on this, in one embodiment, the method may further include:

[0086] Obtain relevant information about the first data; the relevant information represents the number of times the first data has been requested;

[0087] Based on the relevant information obtained, determine whether the first data is hot data;

[0088] If the first data is frequently accessed data, the system responds to the first request and retrieves the first data. Conversely, if the first data is not frequently accessed data, the system no longer determines whether the first data is stored in the local memory, but instead directly retrieves the first data from the database.

[0089] Here, since the local memory stores the raw data obtained by the MEC server, it can be understood that the local memory stores data that can be directly read by the terminal device. Therefore, the data obtained from the local memory does not need to undergo deserialization, thereby improving the efficiency of data acquisition. At the same time, since there is no need to access the database, there is no need to transmit network data between the database and the server, reducing the amount of data transmitted over the network. This alleviates the impact of hot data access requests on server performance and can effectively improve the data acquisition rate and reduce latency.

[0090] In practical applications, hot data is often predicted based on experience or historical data. However, this method yields incomplete and inaccurate hot data, resulting in incomplete hot data cached in local memory and the database. Consequently, when terminal devices request hot data, a large amount still needs to be retrieved from the central cloud, failing to fundamentally alleviate the pressure on the data server. In contrast, determining hot data based on the frequency of requests significantly improves the completeness and accuracy of the determination, thereby truly alleviating server access pressure.

[0091] Based on this, in one embodiment, the method may further include:

[0092] Obtain relevant information about the first data; the relevant information represents the number of times the first data has been requested;

[0093] Based on the relevant information obtained, determine whether the first data is hot data;

[0094] If the first data is hot data, respond to the first request and obtain the first data.

[0095] In practical applications, the more times data is requested, the higher its popularity. Therefore, data that has been requested a certain number of times can be considered as hot data.

[0096] Based on this, in one embodiment, determining whether the first data is hot data based on the acquired relevant information includes:

[0097] When the number of times the first data is requested exceeds a preset threshold, the first data is designated as hot data.

[0098] In practical applications, the data objects stored in the local memory and the database may change. For example, the identified hot data may change, or the specific data corresponding to the data object may change. Therefore, in order to ensure that the first data obtained is the latest data, the local memory and the first data need to be updated.

[0099] Based on this, in one embodiment, the method further includes:

[0100] Update the local memory and the database.

[0101] In practical applications, the following two update methods can be used to update the local memory and the database:

[0102] The first update method involves updating the local memory and the database at a preset frequency. Specifically, the MEC server updates the local memory and the database at a preset frequency, the specific frequency of which is set according to actual usage requirements, and is not limited in this embodiment.

[0103] The second update method involves updating the local memory and the database when the first request is received.

[0104] It should be noted that the actual update method used can be one of the two update methods mentioned above, or a combination of the two update methods mentioned above. The specific method used depends on the actual usage requirements, and this application does not limit it.

[0105] For example, the local memory and the database are updated at a frequency of 5 minutes. When the first request is received, it is assumed that there is still 1 minute before the next update. However, the second data may have changed at this time. Therefore, in order to ensure that the obtained second data is the latest data, the database can be updated again when the first request is received.

[0106] The data processing method provided in this application embodiment obtains a first request, which is used to request the acquisition of first data; in response to the first request, the first data is acquired in one of the following ways: if the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server; if the first data is not stored in local memory, the second data is acquired from a database, and the data stored in the database is the serialized data of the original data obtained by the MEC server; dynamically changing third data is separated from the second data; the third data is deserialized to obtain fourth data; the first data includes the static data in the fourth data and the second data; and the acquired first data is sent out. The solution provided in this application embodiment, when the first data is stored in local memory, reads the data directly from local memory. The read data is the raw data obtained by MEC and does not require deserialization, thereby improving the efficiency of data acquisition. At the same time, it does not require accessing the database, so there is no need to transmit network data between the database and the server, thereby reducing network resource consumption. When the first data is not stored in local memory, the data is obtained from the database, and the dynamically changing data in the read data is deserialized, thereby reducing the number of deserialization objects, thus reducing the amount of data processing on the server and improving data processing efficiency.

[0107] The present application will be further described in detail below with reference to application examples.

[0108] like Figure 3 As shown, the architecture of the data processing system in this application embodiment mainly includes: a data reading strategy module 301, an object reference counting module 302, an instance object processing module 303, and a business logic processing module 304.

[0109] The functions of the data reading strategy module 301, the object reference counting module 302, the instance object processing module 303, and the business logic processing module 304 are described below.

[0110] The data reading strategy module 301 is used to manage the database, that is, to manage the local memory and the database; specifically, it is used to obtain a first request, respond to the first request, determine whether to read the first data directly from the local memory or to obtain the second data from the database, and monitor changes to external objects.

[0111] The data reading strategy module 301 can use an event monitor to monitor changes in external objects, that is, changes in external data. For example, it can use the watcher events of the distributed coordination service (Zookeeper) for monitoring. By monitoring changes in external objects, timely updates of the data stored in the local memory and the database can be achieved.

[0112] In practical applications, the data stored in the local memory may come from different platforms, and the data source types may also be different. For example, the data source type may include links, text boxes, images, etc., which will lead to different change mechanisms for different data. Based on this, in order to facilitate data management, the local memory can store data according to different data source types, that is, to achieve fine-grained management of data by the local memory.

[0113] The object reference counting module 302 is used to count the number of references to instance objects, that is, to calculate the number of times each data object in the second data is referenced. In practical applications, the object reference counting module 302 can be implemented using a counter. Specifically, a counter can be set for each data object to count the number of times the corresponding data object is referenced.

[0114] The instance object processing module 303 is used to process and send the acquired data. Specifically, it performs static and dynamic separation and deserialization on the instance objects based on the object reference count sent by the object reference counting module 302. That is, it determines the attributes of each data object based on the number of times each data object is referenced, and separates the dynamically changing third data from the second data based on the attributes of all data objects, and performs deserialization on the third data to obtain the fourth data. Based on the fourth data and the static data in the second data, it obtains the first data and sends the first data.

[0115] In practical applications, the instance object processing module 303 can, after weighing the benefits of splitting, separate static and dynamic data according to actual needs. For example, if the amount of data requested is large, i.e., the amount of data in the second data is large, splitting all of this data would take a long time, making the data processing efficiency lower than directly deserializing all the data in the second data. In this case, it is possible to choose not to split the second data and instead directly deserialize it. Here, the specific splitting strategy is set according to the actual usage of the MEC server, and this application does not limit it.

[0116] The business logic processing module 304 is used to provide processing strategies for the instance object processing module 303 and the object reference counting module 302. For example, it provides a strategy for separating static and dynamic content for the instance object processing module 303 and a strategy for reference counting for the object reference counting module 302.

[0117] Based on the above architecture, such as Figure 4 As shown, the data processing method of this application embodiment includes the following steps:

[0118] Step 401: The user sends an access request to the MEC server through the Nginx server; the access request is used to request application data. Specifically, the Nginx server determines the web application that the user requests to access, and sends the access request to the MEC server through the determined web application.

[0119] Step 402: Obtain access requests and count hot data, i.e., obtain the first request; specifically, the data reading strategy module 301 determines the first data requested by the user based on the access requests, and counts the number of times the first data is accessed through the object reference counting module 302. For example, a counter can be used to count the key of the first data. Each time the first data is accessed, the value of the corresponding key is incremented by one, and the value of the key is the number of times the corresponding data has been accessed.

[0120] Step 403: The data reading strategy module 301 determines whether the first data is stored in the local cache; that is, whether the first data is stored in the local memory.

[0121] Step 404: If the local cache stores the first data, the instance object processing module 303 retrieves the first data from the local cache; that is, if the first data is stored in local memory, the first data is read directly from the local memory. The data stored in the local cache is hot data. Since the data stored in local memory is the raw data obtained by the MEC server, deserialization is not required when reading the data, thereby improving data access efficiency and reducing the amount of server data processing.

[0122] Step 405: If the local cache does not store the first data, the instance object processing module 303 determines whether the second data is stored in the cache cluster; that is, it queries whether the second data is stored in the first database. The cache cluster is in the form of Redis.

[0123] Step 406: If the second data is stored in the cache cluster, the instance object processing module 303 retrieves the second data from the cache cluster; that is, if the second data is stored in the first database, the second data is retrieved from the first database.

[0124] Step 407: If the second data is not stored in the cache cluster, the instance object processing module 303 retrieves the second data from the DB; that is, if the second data is not stored in the first database, the second data is retrieved from the second database. Here, DB represents the database that persistently stores all the data obtained from the MEC server.

[0125] Step 408: The instance object processing module 303 performs dynamic-static separation on the acquired second data to obtain dynamic data and static data; that is, it separates the dynamically changing third data from the second data. Specifically, the object reference counting module 302 determines the number of times at least one data object in the second data is referenced, and the instance object processing module 303, based on the number of times all data objects in the second data are referenced, separates the dynamically changing data from the second data; for example, data objects with a reference count of "0" are treated as static data, and data objects with a reference count not equal to "0" are treated as dynamically changing data.

[0126] Step 409: The instance object processing module 303 performs deserialization processing on the dynamic data; that is, it performs deserialization processing on the third data to obtain the fourth data.

[0127] Step 410: The instance object processing module 303 obtains the first data based on the static data and the deserialized dynamic data; that is, the first data includes the static data from the fourth data and the second data. Here, since the static data does not change after serialization and can be directly read, after separating the dynamic data and static data, only the dynamically changing data objects need to be copied to the instance object processing module 303 for deserialization. Other static data is directly referenced from the corresponding database, reducing the amount of data copied and deserialized, and avoiding waste of server CPU and network resources.

[0128] Step 411: Instance object processing module 303 sends the first data.

[0129] The data processing system provided in this application embodiment, by deploying a local cache and storing the raw data obtained from the MEC server in the local cache, can not only distribute the data access volume of the database, but also speed up data access and improve data processing performance by eliminating the need for deserialization when retrieving data from the local cache. Furthermore, compared to retrieving data from the database via network transmission, retrieving data from the local cache can accelerate data access and reduce network resources consumed by data transmission. By separating dynamic and static data, and only performing local copying and processing on dynamically changing data (i.e., copying from the database to the instance object processing module for deserialization), while static data can be read directly, the data processing volume of the server is reduced, avoiding waste of server CPU and other resources, and improving data processing efficiency.

[0130] To implement the method of the embodiments of this application, the embodiments of this application also provide a data processing apparatus, which is set on an MEC server, such as... Figure 5 As shown, the device includes:

[0131] The first acquisition unit 501 is used to acquire a first request, wherein the first request is used to request the acquisition of first data;

[0132] The second acquisition unit 502 is configured to acquire the first data in response to the first request by one of the following methods:

[0133] If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server.

[0134] If the first data is not stored in local memory, the second data is obtained from the database, where the database stores data that is the serialized version of the original data obtained from the MEC server; the dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data.

[0135] The sending unit 503 is used to send out the acquired first data.

[0136] In one embodiment, the second acquisition unit 502 is specifically used for:

[0137] Determine the number of times at least one data object in the second data is referenced;

[0138] The attributes of each data object are determined based on the number of times each data object is referenced; the attributes indicate whether the data corresponding to the data object is dynamic or static.

[0139] Based on the attributes of all data objects, dynamically changing third data is extracted from the second data.

[0140] In one embodiment, the second acquisition unit 502 is specifically used for:

[0141] The second data is obtained from either the first database or the second database; the first database stores a portion of the data obtained by the MEC server, and the second database stores all the data obtained by the MEC server.

[0142] In one embodiment, the second acquisition unit 502 is specifically used for:

[0143] If the second data is stored in the first database, the second data is retrieved from the first database;

[0144] Alternatively, if the first database does not store the second data, the second data may be obtained from the server database.

[0145] In one embodiment, the device further includes:

[0146] A determining unit is configured to acquire relevant information about the first data; the relevant information represents the number of times the first data has been requested; and based on the acquired relevant information, determine whether the first data is hot data.

[0147] The second acquisition unit 502 is used to acquire the first data in response to the first request when the first data is hot data.

[0148] In one embodiment, the determining unit is specifically used for:

[0149] When the number of times the first data is requested exceeds a preset threshold, the first data is determined to be hot data.

[0150] In one embodiment, the device further includes:

[0151] An update unit is used to update the local memory and the database.

[0152] In practical applications, the first acquisition unit 501 and the sending unit 503 can be implemented by the communication interface in the data processing device, the second acquisition unit 502 can be implemented by the processor in the data processing device in combination with the communication interface, and the determining unit can be implemented by the processor in the data processing device.

[0153] It should be noted that the data processing apparatus provided in the above embodiments is only illustrated by the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the apparatus can be divided into different program modules to complete all or part of the processing described above. In addition, the data processing apparatus and data processing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0154] Based on the hardware implementation of the above program modules, and in order to implement the data processing method of the embodiments of this application, the embodiments of this application also provide an MEC server, such as... Figure 6 As shown, the MEC server 600 includes:

[0155] The communication interface 601 is capable of exchanging information with terminal devices; wherein, the terminal devices may include application servers, mobile terminals, smart terminals, handheld terminals, vehicle terminals, etc.

[0156] The processor 602 is connected to the first communication interface 601 to enable information interaction with the network side and to execute the methods provided by one or more of the above-mentioned terminal side technical solutions when running a computer program;

[0157] The computer program is stored in the memory 603.

[0158] Specifically, the communication interface is used to obtain the first request, which is used to request the acquisition of first data; and to send the first data.

[0159] The processor 602 is configured to respond to the first request and obtain the first data in one of the following ways:

[0160] If the first data is stored in local memory, the first data is read directly from the local memory through the communication interface 601. The data stored in the local memory is the original data obtained by the MEC server.

[0161] If the first data is not stored in local memory, the second data is obtained from the database through the communication interface 601. The data stored in the database is the serialized data obtained from the original data of the MEC server. The dynamically changing third data is separated from the second data. The third data is deserialized to obtain the fourth data. The first data includes the static data in the fourth data and the second data.

[0162] In one embodiment, the processor 602 is specifically used for:

[0163] Determine the number of times at least one data object in the second data is referenced;

[0164] The attributes of each data object are determined based on the number of times each data object is referenced; the attributes indicate whether the data corresponding to the data object is dynamic or static.

[0165] Based on the attributes of all data objects, dynamically changing third data is extracted from the second data.

[0166] In one embodiment, the processor 602 is specifically used for:

[0167] The second data is obtained from either the first database or the second database; the first database stores a portion of the data obtained by the MEC server, and the second database stores all the data obtained by the MEC server.

[0168] In one embodiment, the processor 602 is specifically used for:

[0169] If the second data is stored in the first database, the second data is obtained from the first database through the communication interface 601; or, if the second data is not stored in the first database, the second data is obtained from the second database through the communication interface 601.

[0170] In one embodiment, the processor 602 is further configured to:

[0171] Obtain relevant information about the first data; the relevant information represents the number of times the first data has been requested;

[0172] Based on the relevant information obtained, determine whether the first data is hot data;

[0173] If the first data is hot data, respond to the first request and obtain the first data.

[0174] In one embodiment, the processor 602 is specifically used for:

[0175] When the number of times the first data is requested exceeds a preset threshold, the first data is determined to be hot data.

[0176] In one embodiment, the processor 602 is further configured to:

[0177] Update the local memory and the database.

[0178] It should be noted that the specific processing procedures of the communication interface 601 and the processor 602 can be understood with reference to the above method.

[0179] Of course, in practical applications, the various components in the MEC server 600 are coupled together through the bus system 604. It can be understood that the bus system 604 is used to implement communication between these components. In addition to the data bus, the bus system 604 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 6 The general designated all buses as Bus System 604.

[0180] The memory 603 in this embodiment is used to store various types of data to support the operation of the MEC server 600. Examples of such data include any computer program used to operate on the MEC server 600.

[0181] The methods disclosed in the embodiments of this application can be applied to the processor 602, or implemented by the processor 602. The processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 602 or by instructions in the form of software. The processor 602 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 602 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the memory 603. The processor 602 reads the information in the memory 603 and combines its hardware to complete the steps of the aforementioned method.

[0182] In an exemplary embodiment, the MEC server 600 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned methods.

[0183] It is understood that the memory 603 in this embodiment can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0184] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a memory 603 storing a computer program, which can be executed by the processor 602 of the MEC server 600 to complete the steps described in the aforementioned method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0185] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0186] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

[0187] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention.

Claims

1. A data processing method applied to a mobile edge computing (MEC) server, characterized in that, The method includes: Obtain the first request, which is used to request the acquisition of the first data; In response to the first request, the first data is obtained in one of the following ways: If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server. If the first data is not stored in local memory, the second data is obtained from the database, where the database stores data that is the serialized version of the original data obtained from the MEC server; the dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data. Send out the first data that has been acquired.

2. The method according to claim 1, characterized in that, The step of separating dynamically changing third data from the second data includes: Determine the number of times at least one data object in the second data is referenced; The attributes of each data object are determined based on the number of times each data object is referenced; the attributes indicate whether the data corresponding to the data object is dynamic or static. Based on the attributes of all data objects, dynamically changing third data is extracted from the second data.

3. The method according to claim 1 or 2, characterized in that, The step of obtaining the second data from the database includes: The second data is obtained from either the first database or the second database; the first database stores a portion of the data obtained by the MEC server, and the second database stores all the data obtained by the MEC server.

4. The method according to claim 3, characterized in that, The step of obtaining the second data from the first database or the second database includes: If the second data is stored in the first database, the second data is retrieved from the first database; Alternatively, if the first database does not store the second data, the second data may be retrieved from the second database.

5. The method according to claim 1, characterized in that, The method further includes: Obtain relevant information about the first data; the relevant information represents the number of times the first data has been requested; Based on the relevant information obtained, determine whether the first data is hot data; If the first data is hot data, respond to the first request and obtain the first data.

6. The method according to claim 5, characterized in that, The step of determining whether the first data is hot data based on the acquired relevant information includes: When the number of times the first data is requested exceeds a preset threshold, the first data is designated as hot data.

7. The method according to claim 1, characterized in that, The method further includes: Update the local memory and the database.

8. A data processing apparatus, applied to a mobile edge computing (MEC) server, characterized in that, include: The first acquisition unit is used to acquire a first request, wherein the first request is used to request the acquisition of first data; The second acquisition unit is configured to acquire the first data in response to the first request by one of the following methods: If the first data is stored in local memory, the first data is read directly from the local memory, and the data stored in the local memory is the original data obtained by the MEC server. If the first data is not stored in local memory, the second data is obtained from the database, wherein the data stored in the database is the serialized data obtained from the MEC server. The dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data. The sending unit is used to send out the acquired first data.

9. A MEC server, characterized in that, include: A communication interface is used to receive a first request, the first request being used to request the acquisition of first data; and to send the acquired first data. A processor, configured to respond to the first request by acquiring the first data in one of the following ways: If the first data is stored in local memory, the first data is read directly from the local memory through the communication interface. The data stored in the local memory is the original data obtained by the MEC server. If the first data is not stored in local memory, the second data is obtained from the database through the communication interface. The data stored in the database is the serialized data obtained by the MEC server. The dynamically changing third data is separated from the second data; the third data is deserialized to obtain the fourth data; the first data includes the static data from the fourth data and the second data.

10. A MEC server, characterized in that, include: The processor and the memory used to store computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 7.

11. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Distributed storage method of wireless radio frequency identification data

    CN101295299A

  • Dynamic and static traffic analysis system and method

    CN106230810A