A data processing method, device and electronic equipment

CN116647466BActive Publication Date: 2026-09-22CHINA CONSTRUCTION BANK +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310760481.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-26
Publication Date
2026-09-22
Estimated Expiration
2043-06-26

AI Technical Summary

Technical Problem

[0003]针对上述问题,目前尚未提出有效的解决方案

Benefits of technology

[0045]本申请提供的数据处理方法和装置,客户端确定服务器接口是否在执行流量控制;在确定服务器接口在执行流量控制的情况下,客户端从本地数据库中获取静态数据和历史动态数据;然后,客户端根据历史动态数据,估算得到目标动态数据;客户端在本地将静态数据和目标动态数据进行合并,得到返回报文;客户端在显示界面显示返回报文。即,服务接口在出现流控的情况下,不是直接返回报错页面,而是客户端通过本地缓存的数据进行处理,得到返回报文进行显示,从而解决了现有的移动客户端在遇到高峰业务期间,接口高并发的情况下,会出现接口流控,用户界面会出现报错弹窗而导致用户体验较差的技术问题,达到了避免了高并发情况下用户界面报错的可能性,有效提升用户体验的技术效果。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116647466B_ABST
    Figure CN116647466B_ABST
Patent Text Reader

Abstract

The application provides a data processing method and device and electronic equipment, wherein the method comprises: determining whether a server interface is executing flow control; in the case that the server interface is executing flow control, obtaining static data and historical dynamic data from a local database by the client; estimating target dynamic data according to the historical dynamic data by the client; merging the static data and the target dynamic data to obtain a return message by the client; and displaying the return message on a display interface by the client. The above scheme solves the technical problem that the existing mobile client will appear interface flow control and the user interface will appear error pop-up window, resulting in poor user experience, in the case of high peak business and high concurrency of the interface. The possibility of user interface error in the case of high concurrency is avoided, thereby improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of Internet technology, and in particular relates to a data processing method, apparatus and electronic device. Background Technology

[0002] With the continuous development of internet technology, mobile clients are becoming increasingly common. Under high concurrency, if the number of concurrent requests to a server-side interface exceeds the flow control threshold, the interface will return a flow control error code or become unresponsive. In this situation, the client will encounter various request errors, which will manifest as various display errors or missing UI elements on the user interface. In other words, during peak business periods, when the interface experiences high concurrency, flow control will be implemented, and error pop-ups will appear on the user interface.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] The purpose of this application is to provide a data processing method, apparatus, and electronic device that can avoid the technical problem of poor user experience under high concurrency of the interface.

[0005] This application provides a data processing method, apparatus, and electronic device implemented as follows:

[0006] A data processing method, the method comprising:

[0007] The client determines whether the server interface is performing flow control;

[0008] When the server interface is performing flow control, the client retrieves static data and historical dynamic data from the local database.

[0009] The client estimates the target dynamic data based on the historical dynamic data;

[0010] The client merges the static data and the target dynamic data locally to obtain a return message;

[0011] The client displays the returned message on the display interface.

[0012] In one implementation, the client determines whether the server interface is performing flow control, including:

[0013] The client sends a request message to the server interface;

[0014] The client receives the message data returned by the server interface;

[0015] The client determines whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, an error indication message;

[0016] If an error flag is detected, it is determined that the server interface is performing flow control.

[0017] In one embodiment, the above method further includes:

[0018] The client sends a request message to the server interface;

[0019] The client receives the message data returned by the server interface;

[0020] The client splits the message data into multiple fields and the corresponding values ​​for each field;

[0021] The multiple fields and their corresponding values ​​are used as static and dynamic data, respectively, and are filled and saved into a preset data table in the local database according to the message data reception time.

[0022] In one implementation, the client estimates the target dynamic data based on the historical dynamic data, including:

[0023] Based on the numerical change trend of the historical dynamic data, a target curve is fitted to obtain the target curve.

[0024] In the target curve, determine the value at the current time point;

[0025] The integer value closest to the value at the current time point is taken as the target dynamic data.

[0026] In one implementation, the client displays the return message on the display interface, including:

[0027] The client uploads the returned message to the service layer;

[0028] The return message is displayed on the display interface through the service layer.

[0029] In one implementation, after the client estimates the target dynamic data based on the historical dynamic data, the method further includes:

[0030] If it is determined that there is unsuccessfully estimated target dynamic data, when the client merges the static data and the target dynamic data locally and obtains a return message, the fields and field values ​​of the unsuccessfully estimated target dynamic data are set to invisible.

[0031] A data processing apparatus, located in a client, includes:

[0032] The determination module is used to determine whether the server interface is performing flow control;

[0033] The acquisition module is used to retrieve static data and historical dynamic data from the local database when it is determined that the server interface is performing flow control.

[0034] The estimation module is used to estimate the target dynamic data based on the historical dynamic data.

[0035] The merging module is used to merge the static data and the target dynamic data locally to obtain a return message;

[0036] The display module is used to display the returned message on the display interface.

[0037] In one implementation, the determining module includes:

[0038] A sending unit is used to send a request message to the server interface;

[0039] A receiving unit is used to receive message data returned by the server interface;

[0040] The first determining unit is used to determine whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, error indication information;

[0041] The second determining unit is used to determine that the server interface is performing flow control when it is determined that an error identifier is carried.

[0042] An electronic device includes a processor and a memory for storing processor-executable instructions, wherein the processor, when executing the instructions, implements the steps of the method described above.

[0043] A computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implement the steps of the above-described method.

[0044] A computer program product includes a computer program / instructions that, when executed by a processor, implement the steps of the above-described method.

[0045] The data processing method and apparatus provided in this application involve the client determining whether the server interface is performing flow control; if flow control is determined, the client retrieves static data and historical dynamic data from a local database; then, the client estimates the target dynamic data based on the historical dynamic data; the client merges the static data and the target dynamic data locally to obtain a return message; and the client displays the return message on the display interface. In other words, when flow control occurs at the service interface, instead of directly returning an error page, the client processes locally cached data to obtain and display a return message. This solves the technical problem of existing mobile clients experiencing interface flow control and error pop-ups on the user interface during peak business periods with high concurrency, resulting in a poor user experience. It effectively avoids the possibility of user interface errors under high concurrency, significantly improving the user experience. Attached Figure Description

[0046] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This is a schematic diagram of the architecture of the data processing system provided in this application;

[0048] Figure 2 This is a flowchart of one embodiment of the data processing method provided in this application;

[0049] Figure 3 This is a flowchart of another embodiment of the data processing method provided in this application;

[0050] Figure 4 This is a schematic diagram of the fitting curve provided in this application;

[0051] Figure 5 This is a hardware structure block diagram of an electronic device for a data processing method provided in this application;

[0052] Figure 6 This is a schematic diagram of the module structure of one embodiment of the data processing device provided in this application. Detailed Implementation

[0053] To enable those skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this application.

[0054] To address the issues of inability to display UI logic correctly during API flow control in high-concurrency scenarios, and the inability to dynamically calculate trends based on fixed cached data, this example considers leveraging mobile client-cached message data to dynamically generate usable message data for application layer display. Specifically, during API flow control in high-concurrency scenarios, the mobile client can dynamically synthesize and correctly display the interactive interface using its own cached data, ensuring a superior user experience.

[0055] Based on this, a data processing system is provided, such as Figure 1 As shown, it may include: server 101 and client 102. The client has a local database. The client 102 sends a request to the interface in the server 101. When the server interface performs flow control, the client 102 forms a message locally based on the historical message data obtained and stored from the server 101, and transmits it to the business layer for display on the display interface.

[0056] Figure 2 This is a flowchart of one embodiment of the data processing method provided in this application. Although this application provides method operation steps or apparatus structures as shown in the following embodiments or figures, more or fewer operation steps or module units may be included in the method or apparatus based on conventional or non-inventive effort. In steps or structures where there is no logically necessary causal relationship, the execution order of these steps or the module structure of the apparatus is not limited to the execution order or module structure described in the embodiments and figures of this application. When the method or module structure is applied in actual devices or terminal products, it can be executed sequentially or in parallel according to the method or module structure shown in the embodiments or figures (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed processing environment).

[0057] Specifically, such as Figure 2 As shown, the data processing method described above may include the following steps:

[0058] Step 201: The client determines whether the server interface is performing flow control;

[0059] Specifically, the client determines whether the server interface is performing flow control by: the client sending a request message to the server interface; the client receiving message data returned by the server interface; the client determining whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, error indication information; if it is determined that the error identifier is carried, it is determined that the server interface is performing flow control.

[0060] In other words, when flow control is in effect, the server interface will carry error codes or error indication information in the returned message data to inform the client that it is currently in a high-concurrency phase and is performing flow control.

[0061] Step 202: Determine that when the server interface is performing flow control, the client retrieves static data and historical dynamic data from the local database;

[0062] A complete message contains both dynamic and static data. For example, some fields have values ​​that never change; these are static fields. Other fields have values ​​that constantly change; these are dynamic fields. For instance, in a coupon details page message, the activity rules and disclaimers are static data, while remaining inventory and the number of recipients are dynamic data. Static data is stored continuously and can be retrieved on the client side when needed. Dynamic data can be analyzed based on historical data for trend estimation.

[0063] Specifically, to improve the accuracy of the estimated dynamic data, the client can calculate the dynamic data based on the cumulative message data cached locally. Specifically, the client can maintain a data table locally. When receiving message data returned by the server interface, the client can break down each field and its value in the message data to record the value of each data point at each time point through the aforementioned data table. Then, by plotting the trend change curve, the dynamic data can be estimated.

[0064] Specifically, the data table can be obtained in the following way: the client sends a request message to the server interface; the client receives the message data returned by the server interface; the client splits the message data into multiple fields and the corresponding values ​​of each field; the multiple fields and the corresponding values ​​of each field are used as static data and dynamic data, and are filled and saved into a preset data table in the local database according to the message data reception time.

[0065] Step 203: The client estimates the target dynamic data based on the historical dynamic data;

[0066] In implementation, the client estimates the target dynamic data based on the historical dynamic data, which may include: fitting a target curve based on the numerical change trend of the historical dynamic data; determining the value at the current time point in the target curve; and using the integer value closest to the value at the current time point as the target dynamic data.

[0067] Step 204: The client merges the static data and the target dynamic data locally to obtain a return message;

[0068] Step 205: The client displays the returned message on the display interface.

[0069] Considering that in some cases, estimating dynamic data may fail due to insufficient data volume, if the value of dynamic data cannot be estimated, the dynamic data item can be set to invisible or a default value can be selected for display to ensure the integrity of the returned message. That is, if it is determined that there is unsuccessfully estimated target dynamic data, when the client merges the static data and the target dynamic data locally to obtain the returned message, the fields and field values ​​of the unsuccessfully estimated target dynamic data can be set to invisible.

[0070] When the client displays the return message on the display interface, the client can first upload the return message to the business layer; then, the business layer displays the return message on the display interface.

[0071] In the example above, when it's determined that the server interface is implementing flow control, the client retrieves static data and historical dynamic data from its local database. Then, based on the historical dynamic data, the client estimates the target dynamic data. The client merges the static data and the target dynamic data locally to obtain a return message. The client then displays the return message on the interface. In other words, when the service interface is under flow control, it doesn't directly return an error page. Instead, the client processes locally cached data to obtain and display a return message. This solves the technical problem of existing mobile clients experiencing interface flow control and error pop-ups on the user interface during peak business periods with high concurrency, leading to a poor user experience. It effectively avoids the possibility of user interface errors under high concurrency, significantly improving the user experience.

[0072] The above method will be described below with reference to a specific embodiment. However, it is worth noting that this specific embodiment is only for better illustration of this application and does not constitute an improper limitation of this application.

[0073] To address the issue that interface flow control errors or unresponsiveness in high-concurrency scenarios can lead to UI anomalies and a degraded user experience, this example provides a data processing solution. The mobile client caches the return data from each interface in the storage space. When encountering high concurrency and the server reaches its performance bottleneck, triggering interface flow control, the client uses the cached data in the storage space to dynamically synthesize data return messages for use by the upper-layer application, thus avoiding UI anomalies and improving the user experience.

[0074] Specifically, a data processing method is provided, such as Figure 3 As shown, it may include the following steps:

[0075] S1: The client requests the server's API;

[0076] S2: The server returns an interface message normally;

[0077] S3: The client caches the interface messages returned by the server to the local database;

[0078] S4: In high-concurrency scenarios, if a client requests the server and encounters interface flow control, the client reads the database interface cache based on the interface transaction code.

[0079] When implementing this, if the number of request connections is too large, the server-side interface can set flow control to reject some transaction requests. Then, the server-side interface will return specific error codes and error messages to the client. Based on these specific error codes, the client can identify that the server is currently in a high-concurrency situation and cannot handle the requests, and thus implement interface flow control.

[0080] S5: The client reads the static data portion from the cached data;

[0081] S6: The client estimates the dynamic data portion from the cached data based on the changing trend;

[0082] A complete message contains both dynamic and static data. For example, some fields have values ​​that never change; these are static values. Other fields have values ​​that constantly change; these are dynamic values. For instance, in a coupon details page message, the activity rules and disclaimers are static data, while the remaining inventory and the number of people who have claimed the coupon are dynamic values.

[0083] To improve the accuracy of the estimated dynamic data, the client can calculate the dynamic data based on the cumulative message data cached locally. Specifically, the client can maintain a data table locally. When receiving message data returned by the server interface, the client can break down the various fields and their values ​​in the message data to record the value of each data point at each time point through the aforementioned data table. Then, based on the trend of the value change, the client can fit the closest curve. Then, based on the current event, the client can obtain the value of the corresponding point on the curve as the estimated value. If the estimated value should be a positive integer, then the closest integer value of the point on the curve can be taken as the estimated value.

[0084] S7: The client merges the static and dynamic data portions obtained from the cache and generates a message locally for display on the display page.

[0085] After merging the data, the client sends the merged data to the business layer for direct display on the client. The source data of the merged data (i.e., the static data part and the dynamic data part obtained from the cache) is always stored locally. Merging and display are only triggered when high concurrency flow control is encountered. When high concurrency flow control is not encountered, a request is sent directly to the server, and the returned message from the server is received and displayed.

[0086] Let's take a specific scenario as an example, specifically a page displaying coupon details. Static data includes coupon usage rules, redemption rules, and disclaimers, while dynamic data includes inventory and redeemed data. The server interface's returned message can identify which fields are static and which are dynamic. Alternatively, the client can repeatedly request messages from the server interface, storing the returned messages in a local database and continuously comparing each message to identify which fields change and which remain unchanged. Unchanging fields are marked as static, and changing fields as dynamic. For dynamic fields, the data change trend can be recorded, and based on this trend, a predicted value can be dynamically calculated. For example, such as... Figure 4 The diagram showing the fitted curve illustrates how, for real-time inventory, time can be used as the x-axis and remaining inventory quantity as the y-axis. All data points are plotted on a coordinate graph, and the points are fitted and connected to form a curve. The quantity value y at the current time (x) is then calculated based on the curve's trend. During implementation, if some dynamic fields cannot be estimated, they can be set to default values, or the information can be hidden from the interface.

[0087] In the example above, the mobile client caches the return data of each interface to the storage space. When encountering high concurrency, server performance bottlenecks, or interface flow control, the cached data is used to dynamically calculate and synthesize data packets for use by the upper layer application, thereby displaying the page normally and avoiding interface abnormalities and user experience degradation. The dynamic data in the synthesized return packets can be estimated values ​​calculated from multiple cached return packets.

[0088] The methods and embodiments provided in the above-described embodiments of this application can be executed in a mobile terminal, computer terminal, or similar computing device. Taking operation on an electronic device as an example... Figure 5 This is a hardware structure block diagram of an electronic device for a data processing method provided in this application. (See diagram for example.) Figure 5 As shown, the electronic device 10 may include one or more (only one is shown in the figure) processors 02 (processors 02 may include, but are not limited to, processing devices such as microprocessors (MCUs) or programmable logic devices (FPGAs), a memory 04 for storing data, and a transmission module 06 for communication functions. Those skilled in the art will understand that... Figure 5 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, electronic device 10 may also include... Figure 5 The more or fewer components shown, or having the same Figure 5 The different configurations shown.

[0089] The memory 04 can be used to store software programs and modules of application software, such as program instructions / modules corresponding to the data processing method in this embodiment. The processor 02 executes various functional applications and data processing by running the software programs and modules stored in the memory 04, thereby implementing the data processing method of the application described above. The memory 04 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 04 may further include memory remotely located relative to the processor 02, and these remote memories can be connected to the electronic device 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0090] The transmission module 06 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the electronic device 10. In one example, the transmission module 06 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission module 06 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0091] At the software level, the aforementioned data processing device can, as follows: Figure 6 As shown, it includes:

[0092] Module 601 is used to determine whether the server interface is performing flow control.

[0093] The acquisition module 602 is used to acquire static data and historical dynamic data from the local database when it is determined that the server interface is performing flow control.

[0094] The estimation module 603 is used to estimate the target dynamic data based on the historical dynamic data;

[0095] The merging module 604 is used to merge the static data and the target dynamic data locally to obtain a return message;

[0096] Display module 605 is used to display the return message on the display interface.

[0097] In one embodiment, the determining module 601 may include: a sending unit for sending a request message to the server interface; a receiving unit for receiving message data returned by the server interface; a first determining unit for determining whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, error indication information; and a second determining unit for determining that the server interface is performing flow control if it is determined that an error identifier is carried.

[0098] In one embodiment, the data processing device is further configured to send a request message to the server interface; receive message data returned by the server interface; split the message data into multiple fields and values ​​corresponding to each field; and fill and save the multiple fields and values ​​corresponding to each field into a preset data table in a local database according to the message data reception time, using them as static data and dynamic data.

[0099] In one embodiment, the estimation module 603 can be specifically used to fit a target curve based on the numerical change trend of the historical dynamic data; determine the value at the current time point in the target curve; and use the integer value closest to the value at the current time point as the target dynamic data.

[0100] In one embodiment, the display module 605 can be used to upload the return message to the service layer; and the service layer displays the return message on the display interface.

[0101] In one embodiment, the data processing device is specifically configured to, after the client estimates the target dynamic data based on the historical dynamic data, and if it is determined that there is unsuccessfully estimated target dynamic data, when the client merges the static data and the target dynamic data locally to obtain a return message, set the fields and field values ​​of the unsuccessfully estimated target dynamic data to be invisible.

[0102] This application also provides a specific implementation of an electronic device capable of implementing all steps of the data processing method in the above embodiments. The electronic device specifically includes: a processor, a memory, a communications interface, and a bus; wherein the processor, memory, and communications interface communicate with each other via the bus; the processor is used to call a computer program in the memory, and when the processor executes the computer program, it implements all steps of the data processing method in the above embodiments. For example, when the processor executes the computer program, it implements the following steps:

[0103] Step 1: The client determines whether the server interface is performing flow control;

[0104] Step 2: Determine that when the server interface is performing flow control, the client retrieves static data and historical dynamic data from the local database;

[0105] Step 3: The client estimates the target dynamic data based on the historical dynamic data;

[0106] Step 4: The client merges the static data and the target dynamic data locally to obtain the return message;

[0107] Step 5: The client displays the returned message on the display interface.

[0108] Embodiments of this application also provide a computer-readable storage medium capable of implementing all steps of the data processing method in the above embodiments. The computer-readable storage medium stores a computer program that, when executed by a processor, implements all steps of the data processing method in the above embodiments. For example, when the processor executes the computer program, it implements the following steps:

[0109] Step 1: The client determines whether the server interface is performing flow control;

[0110] Step 2: Determine that when the server interface is performing flow control, the client retrieves static data and historical dynamic data from the local database;

[0111] Step 3: The client estimates the target dynamic data based on the historical dynamic data;

[0112] Step 4: The client merges the static data and the target dynamic data locally to obtain the return message;

[0113] Step 5: The client displays the returned message on the display interface.

[0114] As described above, in this embodiment, the client determines whether the server interface is performing flow control. If flow control is confirmed, the client retrieves static data and historical dynamic data from its local database. Then, the client estimates the target dynamic data based on the historical dynamic data. The client merges the static data and the target dynamic data locally to obtain a return message. The client displays the return message on the display interface. In other words, when flow control occurs at the service interface, it does not directly return an error page. Instead, the client processes locally cached data to obtain and display a return message. This solves the technical problem of existing mobile clients experiencing interface flow control and error pop-ups on the user interface during peak business periods, leading to a poor user experience. It effectively avoids the possibility of user interface errors under high concurrency, thus significantly improving the user experience.

[0115] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0116] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. In particular, hardware + program embodiments are relatively simple in description because they are fundamentally similar to method embodiments; relevant parts can be referred to the descriptions in the method embodiments.

[0117] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0118] While this application provides the method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive labor. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual device or client product execution, the methods shown in the embodiments or drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment).

[0119] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.

[0120] While this specification provides method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual device or end product execution, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded.

[0121] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing the embodiments of this specification, the functions of each module can be implemented in one or more software and / or hardware components, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.

[0122] Those skilled in the art will also know that, besides implementing the controller using purely computer-readable program code, the same functions can be achieved by logically programming the method steps, making the controller function as logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers (PLCs), and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the devices within it used to implement various functions can also be considered structures within that hardware component. Alternatively, the devices used to implement various functions can be considered as both software modules implementing the method and structures within a hardware component.

[0123] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0124] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0125] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0126] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0127] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0128] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0129] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, the embodiments of this specification can take the form of computer program products implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0130] The embodiments described in this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. The embodiments of this specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0131] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, system embodiments are basically similar to method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. In the description of this specification, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the embodiments in this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0132] The above description is merely an embodiment of the present specification and is not intended to limit the embodiments of the present specification. For those skilled in the art, various modifications and variations can be made to the embodiments of the present specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the embodiments of the present specification should be included within the scope of the claims of the embodiments of the present specification.

Claims

1. A data processing method, characterized in that, The method includes: The client requests the server interface, and the server returns the interface message normally. The client caches the interface messages returned by the server to the local database; The client determines whether the server interface is performing flow control based on the specific error code and error message returned by the server. When the server interface is performing flow control, the client retrieves static data and historical dynamic data from the local database cache. The client estimates the target dynamic data based on the historical dynamic data. The client maintains a data table locally. When it receives the message data returned by the server interface, it breaks down each field and field value in the message data to record the value of each data at each time point through the data table. Based on the trend of value change, it fits a similar curve and obtains the value of the corresponding point on the similar curve as the estimated value based on the current event. The client merges the static data and the target dynamic data locally, generates a message locally, and obtains a return message. The client displays the returned message on the display interface. The static and dynamic data parts of the merged data are always stored locally. The merging and display are only triggered when high concurrency flow control is encountered. When high concurrency flow control is not encountered, the client directly sends a request to the server, receives and displays the message returned by the server.

2. The method according to claim 1, characterized in that, The client determines whether the server interface is performing flow control, including: The client sends a request message to the server interface; The client receives the message data returned by the server interface; The client determines whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, an error indication message; If an error flag is detected, it is determined that the server interface is performing flow control.

3. The method according to claim 1, characterized in that, Also includes: The client sends a request message to the server interface; The client receives the message data returned by the server interface; The client splits the message data into multiple fields and the corresponding values ​​for each field; The multiple fields and their corresponding values ​​are used as static and dynamic data, respectively, and are filled and saved into a preset data table in the local database according to the message data reception time.

4. The method according to claim 1, characterized in that, The client estimates the target dynamic data based on the historical dynamic data, including: Based on the numerical change trend of the historical dynamic data, a target curve is fitted to obtain the target curve. In the target curve, determine the value at the current time point; The integer value closest to the value at the current time point is taken as the target dynamic data.

5. The method according to claim 1, characterized in that, The client displays the returned message on the display interface, including: The client uploads the returned message to the service layer; The return message is displayed on the display interface through the service layer.

6. The method according to claim 1, characterized in that, After the client estimates the target dynamic data based on the historical dynamic data, the process further includes: If it is determined that there is unsuccessfully estimated target dynamic data, when the client merges the static data and the target dynamic data locally and obtains a return message, the fields and field values ​​of the unsuccessfully estimated target dynamic data are set to invisible.

7. A data processing apparatus, characterized in that, Located in the client, including: The determination module is used to request the server interface, and if the server returns the interface message normally, the returned interface message is cached in the local database to determine whether the server interface is performing flow control. The acquisition module is used to retrieve static data and historical dynamic data from the local database cache when it is determined that the server interface is performing flow control. The estimation module is used to estimate the target dynamic data based on the historical dynamic data. The client maintains a data table locally. When it receives the message data returned by the server interface, it splits the various fields and field values ​​in the message data to record the value of each data point at each time point through the data table. Based on the trend of value change, it fits a similar curve and obtains the value of the corresponding point on the similar curve based on the current event as the estimated value. The merging module is used to merge the static data and the target dynamic data locally, generate a message locally, and obtain a return message. The display module is used to display the returned message on the display interface. The static and dynamic data parts of the merged data are always stored locally. The merging and display are only triggered when high concurrency flow control is encountered. When high concurrency flow control is not encountered, a request is sent directly to the server, and the message returned by the server is received and displayed.

8. The apparatus according to claim 7, characterized in that, The determining module includes: A sending unit is used to send a request message to the server interface; A receiving unit is used to receive message data returned by the server interface; The first determining unit is used to determine whether the message data returned by the server interface carries an error identifier, wherein the error identifier includes: an error code, and / or, error indication information; The second determining unit is used to determine that the server interface is performing flow control when it is determined that an error identifier is carried.

9. An electronic device comprising a processor and a memory for storing processor-executable instructions, characterized in that, When the processor executes the instructions, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1 to 6.

11. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method, apparatus and system for optimizing APP interface data

    CN107819806A

  • Method and device for displaying page

    CN107862044A