Virtual page refreshing method and device, equipment and storage medium

By introducing target priority queues and frame rate-determined page refresh time intervals in the in-vehicle infotainment system, uplink data is selectively processed, which solves the picture problem caused by excessive system load and improves the user experience.

CN119987931APending Publication Date: 2025-05-13CHONGQING SELIS PHOENIX INTELLIGENT INNOVATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510155721.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-12
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In the prior art, when the vehicle infotainment system processes a large amount of raw data, the system load increases, resulting in screen tear, delay and other problems, affecting the user experience.

Method used

By introducing a target priority queue in the virtual page refresh method, the page refresh time interval is determined according to the frame rate, uplink data is selectively processed, data processing volume is reduced, and system load is reduced.

Benefits of technology

It effectively reduces data processing volume, reduces system load, avoids picture tear and delay problems, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987931A_ABST
    Figure CN119987931A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, and discloses a virtual page refreshing method, device and equipment and a storage medium, the method comprises the following steps: in response to a first current page refreshing request, determining target data corresponding to each target service from a target priority queue corresponding to each target service; and refreshing according to the target data corresponding to each target service to obtain a target page. According to the embodiment of the invention, the uplink data is stored through the target priority queue, and the uplink data is selectively processed according to the page refreshing time interval determined by the frame rate, so that compared with a mode of executing rendering operation when one piece of uplink data is received, the data processing amount can be greatly reduced, the system load is reduced, and the efficiency is improved. In addition, the granularity of the uplink data corresponding to the target service is relatively fine, so that the uplink data is selectively processed, the real-time display requirement can be met, and the actual impression experience of the user is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a method, device, equipment and storage medium for refreshing a virtual page. Background Art

[0002] Smart cockpit is an important concept in modern automotive technology, representing the intelligentization and networking of the internal control system of the car. Among them, the in-vehicle infotainment system (IVI) is an important part of the smart cockpit, which usually includes functions such as audio, navigation, video playback, and Internet connection.

[0003] Under related technologies, the interactive interface of IVI usually collects raw data from the vehicle's underlying equipment, uploads it to IVI for rendering, and then displays it on the central control display screen. However, when the underlying equipment has a higher precision, the amount of raw data collected will also be greater. Rendering all the raw data will greatly increase the system load. In addition, due to the frame rate limit of the central control display screen, if all the rendered data is to be displayed, problems such as screen tearing and delay will occur, seriously affecting the user experience. Summary of the invention

[0004] In view of the above problems, the present application provides a virtual page refresh method, device, equipment and storage medium, which are used to solve the problem of excessive data processing leading to increased system load in the prior art.

[0005] According to one aspect of the present application, a virtual page refresh method is provided, the refresh method comprising: in response to a first current page refresh request, determining target data corresponding to each target business from the target priority queues corresponding to each target business; wherein each target priority queue is obtained by updating the historical upstream data set corresponding to the respective target business after responding to the most recent historical page refresh request, the time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate, each target priority queue includes at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue; the target page is obtained by refreshing the target data corresponding to each target business.

[0006] In an optional manner, the refresh method also includes: recording the number of historical pages refreshed within a preset time length, and determining the current frame rate based on the ratio of the number of historical pages to the preset time length; or, recording the refresh time length required to refresh the preset number of pages, and determining the current frame rate based on the ratio of the preset number of pages to the refresh time length; generating a page refresh request according to the current frame rate; wherein the number of page refresh requests is the same as the current frame rate.

[0007] In an optional manner, the refresh method also includes: if the current frame rate is greater than or equal to a first frame rate threshold, a service whose uplink rate is greater than a second frame rate threshold is determined as a target service; wherein the uplink rate refers to the transmission rate of uplink data corresponding to the service, and the first frame rate threshold is less than the second frame rate threshold; if the current frame rate is less than the first frame rate threshold, a service whose uplink rate is greater than the second frame rate threshold and whose priority meets preset conditions is determined as the target service.

[0008] In an optional manner, the refreshing method further includes:

[0009] If normal uplink data corresponding to the normal service is received, the target page is refreshed according to the normal uplink data and the target data corresponding to each target service in response to the second current page refresh request; wherein the normal service is a service whose uplink rate is less than or equal to the second frame rate threshold.

[0010] In an optional manner, before determining the target data corresponding to each target business from the target priority queue corresponding to each target business, the method further includes: receiving a historical uplink data set corresponding to each target business; wherein each historical uplink data set includes historical uplink data uploaded concurrently by multiple devices; based on the timestamp of each historical uplink data in each historical uplink data set, determining the processing priority corresponding to each historical uplink data; wherein the smaller the difference between the corresponding timestamp and the current moment is, the higher the processing priority of the historical uplink data; according to the level of processing priority, each historical uplink data is saved in turn as data to be rendered in the corresponding initially empty bidirectional linked list to obtain the corresponding target priority queue.

[0011] In an optional manner, the target data corresponding to each target business is determined from the target priority queue corresponding to each target business, including: traversing each target business, taking the traversed target business as the focus target business, and taking the target priority queue corresponding to the focus target business as the focus target priority queue; determining the queue identifier of the focus target priority queue according to the correspondence between the focus target business and the focus target priority queue; wherein the queue identifier is an index pointer pointing to the focus target priority queue; and determining the target data in the focus target priority queue according to the queue identifier.

[0012] In an optional manner, after the first data to be rendered in the focus target priority queue is used as the target data according to the queue identifier, the refresh method further includes: pointing the index pointer of the focus target priority queue to any empty node to clear the data to be rendered in the focus target priority queue; wherein the empty node is a memory address that does not store any data; taking each uplink data in the current uplink data set corresponding to the focus target business at the current moment as new data to be rendered, and saving it in a bidirectional linked list with the empty node as the head node, to generate a new focus target priority queue corresponding to the focus target business.

[0013] According to another aspect of the present application, a refresh device for a virtual page is provided, the refresh device comprising: a determination module, which, in response to a first current page refresh request, determines the target data corresponding to each target business from the target priority queues corresponding to each target business; wherein each target priority queue is updated based on the historical upstream data set corresponding to the respective target business after responding to the most recent historical page refresh request, the time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate, each target priority queue comprises at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue; a processing module, which refreshes the target page according to the target data corresponding to each target business.

[0014] According to one aspect of the present application, a device is provided, including: a controller; and a memory for storing one or more programs, and when the one or more programs are executed by the controller, the above-mentioned management method is executed.

[0015] According to one aspect of the present application, a storage medium is also provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the above-mentioned management method.

[0016] According to one aspect of the present application, a computer program product or computer program is also provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned management method.

[0017] The embodiment of the present application saves the uplink data through the target priority queue, and selectively processes the uplink data according to the page refresh time interval determined by the frame rate. Compared with the method of performing the rendering operation every time an uplink data is received, the data processing volume can be greatly reduced, thereby reducing the system load. Moreover, since the granularity of the uplink data corresponding to the target business is finer, the selective processing of the uplink data can also meet the real-time display requirements and ensure the user's actual viewing experience.

[0018] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 It is a flowchart of a virtual page refresh method shown in an exemplary embodiment of the present application.

[0020] Figure 2 It is a flowchart of storing uplink data to a target priority queue shown in an exemplary embodiment of the present application.

[0021] Figure 3 It is a flowchart of determining target data shown in an exemplary embodiment of the present application.

[0022] Figure 4 It is a flowchart of updating a target priority queue shown in an exemplary embodiment of the present application.

[0023] Figure 5 It is a logical schematic diagram of a virtual page refresh method exemplarily shown in the present application.

[0024] Figure 6 This is a data interaction diagram of a virtual page refresh method exemplarily shown in the present application.

[0025] Figure 7 It is a schematic diagram of an application scenario of a virtual page refresh method of the present application.

[0026] Figure 8 It is a schematic diagram of the structure of a refresh device shown in an exemplary embodiment of the present application.

[0027] Fig. 9 It is a structural diagram of a computer system of an electronic device shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0028] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0029] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0030] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0031] The term "multiple" as used in this application refers to two or more than two. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0032] In the related technology, the interactive interface of IVI is usually obtained by collecting raw data from the vehicle's underlying equipment, uploading it to IVI for rendering, and then displaying it on the central control display screen. However, when the accuracy of the underlying equipment is higher, the amount of raw data collected will also be greater. Rendering all the raw data will greatly increase the system load. In addition, due to the frame rate limit of the central control display screen, if all the rendered data is to be displayed, problems such as screen tearing and delay will occur, which will seriously affect the user experience.

[0033] To this end, one aspect of the present application provides a method for refreshing a virtual page. Figure 1 , Figure 1 1 is a flowchart of a virtual page refresh method shown in an exemplary embodiment of the present application. The method at least includes S110 to S120, which are described in detail as follows:

[0034] S110: In response to the first current page refresh request, target data corresponding to each target service is determined from the target priority queue corresponding to each target service.

[0035] Among them, each target priority queue is updated based on the historical upstream data set corresponding to the respective target business after responding to the most recent historical page refresh request. The time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate. Each target priority queue includes at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue.

[0036] A priority queue is a special data structure in which each element has a priority, which allows you to quickly get the element with the highest priority in the queue.

[0037] The target business refers to the business with lower real-time requirements for IVI and finer granularity of uplink data.

[0038] In this application, the target priority queue is used to temporarily store the uplink data sent in real time by each target business. Each time the page is refreshed, the target data with the highest processing priority is obtained based on the target priority queue for processing. After each page refresh, each target priority queue needs to be updated to ensure that each refresh can obtain the target data with the highest processing priority uploaded by each target business. Among them, the processing priority of the data to be rendered is related to its upload time.

[0039] In some optional embodiments, the target priority queue may store each uplink data itself, or may store the address of the uplink data in the memory, which is not limited in the present application.

[0040] The time interval for page refresh varies according to the current frame rate. The higher the current frame rate, the shorter the time interval for page refresh, and the shorter the time interval for uploading the target data corresponding to two adjacent page refresh processes; conversely, the lower the current frame rate, the longer the time interval for page refresh, and the longer the time interval for uploading the target data corresponding to two adjacent page refresh processes.

[0041] S120: Refresh the target page according to the target data corresponding to each target business.

[0042] In a page refresh process, after the target data corresponding to each target business is determined, each target data is rendered and the rendering result is displayed on the display, and the page refresh can be completed to obtain the target page.

[0043] This embodiment saves the uplink data through the target priority queue, and selectively processes the uplink data according to the page refresh time interval determined by the frame rate. Compared with the method of performing rendering operations every time an uplink data is received, the data processing volume can be greatly reduced, thereby reducing the system load. In addition, since the granularity of the uplink data corresponding to the target business is finer, the selective processing of the uplink data can also meet the real-time display requirements and ensure the user's actual viewing experience.

[0044] In another exemplary embodiment of the present application, how to obtain the current frame rate and generate a page refresh request is described in detail. The specific steps include: recording the number of historical pages refreshed within a preset time period, and determining the current frame rate based on the ratio of the number of historical pages to the preset time period; or, recording the refresh time required to refresh a preset number of pages, and determining the current frame rate based on the ratio of the preset number of pages to the refresh time; generating a page refresh request based on the current frame rate.

[0045] Among them, the number of page refresh requests is the same as the current frame rate.

[0046] For example, if the number of historical pages refreshed within 1 second is recorded as 50 frames, then based on the ratio of the number of historical pages to the preset time length, it can be determined that the current frame rate is 50 frames per second (Frames Per Second, FPS), and 50 page refresh requests are generated within the next second; or, if the refresh time required to refresh the number of 180 frames of pages is recorded as 3 seconds, then based on the ratio of the preset number of pages to the refresh time length, it can be determined that the current frame rate is 60FPS, and 60 page refresh requests are generated within the next second.

[0047] Different frame rate calculation methods correspond to different accuracy and stability. You can choose any method in the examples of this application or other feasible methods in the field according to actual needs. This application does not impose any restrictions on this.

[0048] This embodiment provides a method for calculating the current frame rate, and a method for generating a page refresh request based on the current frame rate, which provides a basis for the subsequent optimization processing method of uplink data, so that the target service for optimization processing can be more reasonably selected according to the current frame rate. Compared with the method of controlling page refresh according to the amount of uplink data, this embodiment controls page refresh by controlling page refresh by the current frame rate, which can greatly reduce the number of page refreshes and data processing volume, thereby reducing the system load.

[0049] In another exemplary embodiment of the present application, how to determine the target business is described in detail, and the specific steps include S210 to S220, which are described in detail as follows:

[0050] S210: If the current frame rate is greater than or equal to the first frame rate threshold, determine the service whose uplink rate is greater than the second frame rate threshold as the target service.

[0051] The uplink rate refers to the transmission rate of uplink data corresponding to the service, and the first frame rate threshold is less than the second frame rate threshold.

[0052] In the present application, services with a higher uplink rate usually have more corresponding uplink data. When the frame rate is insufficient and there is too much uplink data, if each uplink data is still processed, the system load will increase, causing system and screen freezes. Therefore, it is necessary to optimize the uplink data corresponding to the services with a higher uplink rate.

[0053] Exemplarily, the first frame rate threshold is 30FPS, and the second frame rate threshold is the maximum frame rate supported by the display, 60FPS. When the current frame rate is greater than or equal to 30FPS, it indicates that the system performance level is above average and the data processing capability is high. At this time, all services with an uplink rate greater than the maximum frame rate can be identified as target services in order to optimize the uplink data of the target services.

[0054] S220: If the current frame rate is less than the first frame rate threshold, a service whose uplink rate is greater than the second frame rate threshold and whose priority satisfies a preset condition is determined as a target service.

[0055] In another optional embodiment, the first frame rate threshold is 30FPS, and the second frame rate threshold is the maximum frame rate supported by the display, 60FPS. When the current frame rate is less than 30FPS, it indicates that the system performance level is medium to low and the data processing capability is low. At this time, the service with an uplink rate greater than the second frame rate threshold (i.e., the maximum frame rate) and a priority that meets preset conditions can be determined as the target service, so as to ensure the normal operation of more important services as much as possible when system resources are scarce.

[0056] For services whose uplink rate is greater than the maximum frame rate but whose priority does not meet the preset conditions, you can choose not to process data temporarily until the current frame rate returns to an upper-middle level, or you can choose to resume data processing if the service waiting time exceeds the preset time threshold. This application does not impose any restrictions on this.

[0057] In actual application, priority identifiers are usually used to represent the priorities of different services. The priority of the same service can be fixed or dynamically adjusted according to factors such as the service operation status. At the same time, the above-mentioned preset conditions can also be set according to actual conditions, and this application does not impose any restrictions on this.

[0058] This embodiment determines the target service through the relationship between the uplink rate and the maximum frame rate, and can screen out services with large uplink data volumes. By comparing the uplink rate with the first frame rate threshold, services with large uplink data volumes and high importance can be further screened out.

[0059] In another exemplary embodiment of the present application, another virtual page refresh method is described in detail, specifically including: if ordinary uplink data corresponding to ordinary services are received, then in response to a second current page refresh request, a target page is refreshed according to the ordinary uplink data and the target data corresponding to each target service.

[0060] The common service is a service whose uplink rate is less than or equal to the second frame rate threshold.

[0061] In the present application, the services whose uplink rate is less than or equal to the maximum frame rate usually have less uplink data, that is, a small amount of uplink data is uploaded occasionally, so they are treated as normal services and do not need to be optimized.

[0062] In some optional embodiments, if ordinary uplink data corresponding to ordinary services are received, ordinary uplink data uploaded by ordinary services are processed while processing target data corresponding to target services, and the target page is jointly rendered.

[0063] In the present application, the operation corresponding to the response to the current page refresh request is different depending on whether normal uplink data is currently received, that is, the response to the first current page refresh request only includes the processing of the target data, while the response to the second current page refresh request also includes the processing of normal uplink data, and there is no difference between the two request signals themselves.

[0064] This embodiment provides a data processing method for ordinary services. Ordinary services upload data at a low frequency and in small quantities. Even if each received ordinary uplink data is processed, the occupied system resources are small, thus ensuring the normal execution of ordinary services.

[0065] In another exemplary embodiment of the present application, please refer to Figure 2 , Figure 2 This is a flow chart of an exemplary embodiment of the present application showing a method of storing uplink data in a target priority queue. The method at least includes S310 to S330, which are described in detail as follows:

[0066] S310: Receive historical uplink data sets corresponding to each target business.

[0067] Each historical uplink data set includes historical uplink data uploaded concurrently by multiple devices.

[0068] In this application, one or more underlying devices corresponding to the same service collect and concurrently upload data, forming a historical uplink data set corresponding to the service.

[0069] S320: Determine the processing priority corresponding to each historical uplink data based on the timestamp of each historical uplink data in each historical uplink data set.

[0070] Among them, the smaller the difference between the corresponding timestamp and the current time, the higher the processing priority of the historical uplink data.

[0071] In this application, each historical uplink data is associated with a timestamp for recording its arrival time. The timestamp with the smallest difference with the current time, that is, the most recently uploaded historical uplink data, has the highest processing priority.

[0072] S330: According to the processing priority, each historical upstream data is sequentially saved as the data to be rendered into the corresponding initially empty bidirectional linked list to obtain the corresponding target priority queue.

[0073] In this application, a maximum heap in the form of a bidirectional linked list is used to store uplink data, and one target service corresponds to one bidirectional linked list. According to the timestamp of the historical uplink data, each historical uplink data is linked to the initially empty bidirectional linked list in order, thereby forming a target priority queue corresponding to each target service, wherein the historical uplink data with the highest processing priority is placed at the head of the target priority queue, that is, the head of the bidirectional linked list.

[0074] It can be inferred that, since the underlying devices corresponding to the target business will continuously collect and upload data, before a page is refreshed, the data to be rendered with the highest processing priority in each target priority queue will also be updated in real time.

[0075] This embodiment introduces in detail the method of saving uplink data. By setting a priority queue, uplink data with the highest processing priority can be efficiently obtained. In addition, the priority queue is constructed in the form of a bidirectional linked list, which reduces the time complexity of insertion and deletion, thereby reducing the maintenance cost of the priority queue.

[0076] In another exemplary embodiment of the present application, please refer to Figure 3 , Figure 3 1 is a flow chart of determining target data according to an exemplary embodiment of the present application. The method at least includes S410 to S430, which are described in detail as follows:

[0077] S410: traverse each target service, take the traversed target service as the focus target service, and take the target priority queue corresponding to the focus target service as the focus target priority queue.

[0078] In this application, the current page usually contains multiple components, one component is a business, and in the process of refreshing the page, first determine the multiple target businesses to be refreshed, and then read the target data corresponding to each target business respectively. Among them, the target business that is being read is the focus target business, and its corresponding target priority queue is the focus target priority queue.

[0079] S420: Determine a queue identifier of the focus target priority queue according to a correspondence between the focus target service and the focus target priority queue.

[0080] The queue identifier is an index pointer pointing to the focus target priority queue.

[0081] In the present application, each target service corresponds to a target priority queue one by one and is identified by an index pointer, which is usually a head pointer of the focus target priority queue.

[0082] S430: Determine the target data in the focus target priority queue according to the queue identifier.

[0083] If the focus target priority queue has a head node, the index pointer points to the head node, and then the first data to be rendered can be found according to the head node; if the focus target priority queue has no head node, the index pointer directly points to the first data to be rendered in the focus target priority queue.

[0084] Since the target priority queue in the present application is a maximum heap, the first data to be rendered in the focus target priority queue is the data with the highest processing priority, that is, the target data.

[0085] This embodiment introduces in detail how to determine the target data. By using a to-be-rendered data in the target priority queue as the target data, it can be ensured that each time the page is refreshed, the processed data is the latest data uploaded by each business, rather than expired old data, so that the business maintains the latest operating status.

[0086] In another exemplary embodiment of the present application, please refer to Figure 4 , Figure 4 1 is a flow chart of updating a target priority queue as shown in an exemplary embodiment of the present application. The method at least includes S510 to S520, which are described in detail as follows:

[0087] S510: Point the index pointer of the focus target priority queue to any empty node to clear the to-be-rendered data in the focus target priority queue.

[0088] Among them, the empty node is the memory address that does not store any data.

[0089] In this application, after reading the target data and completing a page refresh, the target priority queue needs to be updated. The specific operation is to clear the index pointer of the focus target priority queue to point to any empty node, that is, control the bidirectional linked list to disconnect the link with the node storing other data to be rendered, thereby clearing the target priority queue.

[0090] All the data to be rendered that loses its index will be recycled by the garbage collection algorithm, thus saving the time overhead of deleting linked list elements.

[0091] In practical applications, if the doubly linked list of the target priority queue includes a sentinel bit, when the index pointer of the focus target priority queue points to any empty node, the sentinel bit of the doubly linked list needs to be excluded.

[0092] S520: Save each uplink data in the current uplink data set corresponding to the current focus target service as new data to be rendered into a bidirectional linked list with an empty node as the head node, and generate a new focus target priority queue corresponding to the focus target service.

[0093] In this application, since the device corresponding to the target business will continuously collect and upload data, after clearing the data to be rendered in the focus target priority queue, the current uplink data corresponding to the focus target business at the current moment needs to be saved as new data to be rendered in preparation for the next page refresh.

[0094] This embodiment updates the target priority queue to ensure that after each page refresh, the data in the target priority queue can also be updated to the latest uploaded data in real time, so that each page refresh can process the latest data corresponding to the business, while omitting unimportant intermediate data or expired data. In addition, the method of clearing the queue can reduce memory overhead and reduce the risk of memory overflow.

[0095] See also Figure 5 , Figure 5 This is a logic diagram of a virtual page refresh method exemplarily shown in the present application. The detailed description is as follows:

[0096] A priority queue is used to save the uplink data uploaded by the data source. When waiting for the page frame to refresh, the target data in the target priority queue is read (only one target priority queue is shown here as an example), the target data is rendered, and the target page is refreshed. After completing a page refresh, the target priority queue is cleared, and the target priority queue is updated based on the new uplink data uploaded by the data source, waiting for the next page refresh. The time interval between adjacent page refreshes is determined by the current frame rate. If the current frame rate is high, the page refresh speed is fast and more data is processed. If the current frame rate is low, the page refresh speed is slow and less data is processed.

[0097] See also Figure 6 , Figure 6This is a data interaction diagram of a virtual page refresh method exemplified in the present application. Among them, the frame rate monitoring method obtains the current frame rate of the page through the function requestCurrentFps(), and requests the current data from the target priority queue through the function requestCurrentData() according to the current frame rate (the current data requested in this application is the data with the highest processing priority in the target priority queue). After the frame rate monitoring method obtains the current data, the page update is implemented through the callback function onFpsChanged (boolean mode). The target priority queue continuously accumulates data, and the frame rate monitoring method simultaneously subscribes to the changed data in the target priority queue through the SubscribeOnDataChanged function, and obtains the currently changed data with the highest processing priority based on the function onPriorityDataChanged(data), and refreshes the user page in real time in combination with the current frame rate.

[0098] In another exemplary embodiment of the present application, an exemplary application scenario of the above-mentioned method for refreshing multiple virtual pages is described. Figure 7 , Figure 7 It is a schematic diagram of an application scenario of a virtual page refresh method of the present application, wherein the device 100, the vehicle 200 and the in-vehicle infotainment system 300 are included, and the three ends can be connected by wireless communication, and the present application does not limit the connection method between them.

[0099] The device 100 may be one or more. The device 100 collects data corresponding to the service and uploads it to the in-vehicle infotainment system 300, so that the in-vehicle infotainment system 300 receives the uplink data to execute the refresh method shown in any of the above exemplary embodiments. The following is an exemplary description:

[0100] The in-vehicle infotainment system 300 saves the received uplink data to the corresponding target priority queue, monitors the current frame rate, responds to the page refresh request, determines multiple target services, and obtains the target data from the target priority queues corresponding to each target service, renders the target data, and displays the rendering results on the central control display screen of the vehicle 200 to complete the page refresh.

[0101] When the amount of uplink data is too large and the load of the in-vehicle infotainment system is too heavy, resulting in a low frame rate, the technical solution provided in the present application is adopted to save the uplink data through the target priority queue, and selectively process the uplink data according to the page refresh time interval determined by the frame rate. Compared with the method of performing rendering operations every time an uplink data is received, the data processing volume can be greatly reduced, thereby reducing the system load. From the user's perspective, it solves the problem of page freezes caused by low frame rate and excessive data volume, while meeting the needs of real-time display.

[0102] Another aspect of the present application also provides a virtual page refresh device, such as Figure 8 As shown, Figure 8 800 is a schematic diagram of a refresh device according to an exemplary embodiment of the present application. The refresh device 800 includes:

[0103] The determination module 810 determines, in response to the first current page refresh request, target data corresponding to each target business from the target priority queues corresponding to each target business; wherein each target priority queue is updated based on the historical data set corresponding to each target business after responding to the most recent historical page refresh request, the time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate, each target priority queue includes at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue;

[0104] The processing module 820 refreshes the target page according to the target data corresponding to each target business.

[0105] In an optional manner, the refreshing device 800 further includes:

[0106] A first recording module records the number of historical pages refreshed within a preset time period, and determines the current frame rate based on the ratio of the number of historical pages to the preset time period; or

[0107] A second recording module records the refresh time required to refresh a preset number of pages, and determines the current frame rate based on the ratio of the preset number of pages to the refresh time;

[0108] Generate a page refresh request according to the current frame rate; wherein the number of page refresh requests is the same as the current frame rate.

[0109] In an optional manner, the refreshing device 800 further includes:

[0110] A first determination module, if the current frame rate is greater than or equal to a first frame rate threshold, determines a service whose uplink rate is greater than a second frame rate threshold as a target service; wherein the uplink rate refers to a transmission rate of uplink data corresponding to the service, and the first frame rate threshold is less than the second frame rate threshold;

[0111] The second determination module determines, if the current frame rate is less than the first frame rate threshold, a service whose uplink rate is greater than the second frame rate threshold and whose priority satisfies a preset condition as a target service.

[0112] In an optional manner, the refreshing device 800 further includes:

[0113] The processing submodule, if receiving ordinary uplink data corresponding to ordinary services, responds to the second current page refresh request and refreshes the target page according to the ordinary uplink data and the target data corresponding to each target service; wherein the ordinary service is a service whose uplink rate is less than or equal to the second frame rate threshold.

[0114] In an optional manner, the refreshing device 800 further includes:

[0115] A receiving module receives the historical uplink data sets corresponding to each target business; wherein each historical uplink data set includes the historical uplink data uploaded concurrently by multiple devices;

[0116] The grading module determines the processing priority corresponding to each historical uplink data based on the timestamp of each historical uplink data in each historical uplink data set; the historical uplink data with a smaller difference between the corresponding timestamp and the current time has a higher processing priority;

[0117] The storage module saves each historical upstream data as the data to be rendered in the corresponding initially empty bidirectional linked list in turn according to the processing priority, so as to obtain the corresponding target priority queue.

[0118] In an optional manner, the determination module further includes:

[0119] A traversal unit traverses each target business, takes the traversed target business as a focus target business, and takes a target priority queue corresponding to the focus target business as a focus target priority queue;

[0120] The matching unit determines the queue identifier of the focus target priority queue according to the correspondence between the focus target service and the focus target priority queue; wherein the queue identifier is an index pointer pointing to the focus target priority queue;

[0121] The query unit determines the target data in the focus target priority queue according to the queue identifier.

[0122] In an optional manner, the refreshing device further includes:

[0123] The clearing module points the index pointer of the focus target priority queue to any empty node to clear the data to be rendered in the focus target priority queue; wherein the empty node is a memory address that does not store any data;

[0124] The update module saves each uplink data in the current uplink data set corresponding to the current focus target business as new data to be rendered into a bidirectional linked list with an empty node as the head node, and generates a new focus target priority queue corresponding to the focus target business.

[0125] The refresh device of the present application saves the uplink data through the target priority queue, and selectively processes the uplink data according to the page refresh time interval determined by the frame rate. Compared with the method of performing rendering operations every time an uplink data is received, the data processing volume can be greatly reduced, thereby reducing the system load. Moreover, since the granularity of the uplink data corresponding to the target business is finer, even if the uplink data is selectively processed, it can meet the real-time display requirements and ensure the user's actual viewing experience.

[0126] It should be noted that the wake-up device provided in the above embodiment and the management method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment and will not be repeated here.

[0127] Another aspect of the present application provides an electronic device, comprising: a controller; and a memory for storing one or more programs, which, when executed by the controller, executes the above-mentioned management method.

[0128] See also Fig. 9 , Fig. 9 1 is a schematic diagram of the structure of a computer system of an electronic device shown in an exemplary embodiment of the present application, which shows a schematic diagram of the structure of a computer system of an electronic device suitable for implementing an embodiment of the present application.

[0129] It should be noted that Fig. 9 The computer system 900 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0130] like Fig. 9As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage part 908 to the random access memory (RAM) 903, such as executing the method in the above embodiment. In the RAM 903, various programs and data required for system operation are also stored. The CPU 901, ROM 902 and RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0131] The following components are connected to the I / O interface 905: an input section 906 including a keyboard, a mouse, etc.; an output section 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed so that a computer program read therefrom is installed into the storage section 908 as needed.

[0132] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 909, and / or installed from a removable medium 911. When the computer program is executed by a central processing unit (CPU) 901, various functions defined in the system of the present application are executed.

[0133] It should be noted that the computer-readable medium shown in the embodiment of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium can include a data signal propagated in a baseband or as a part of a carrier wave, wherein a computer-readable computer program is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0134] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0135] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0136] Another aspect of the present application also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the management method as described above is implemented. The computer-readable storage medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.

[0137] Another aspect of the present application also provides a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. A processor of a computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the management method provided in each of the above embodiments.

[0138] According to one aspect of an embodiment of the present application, a computer system is also provided, including a central processing unit (CPU), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) or a program loaded from a storage portion into a random access memory (RAM), such as executing the method in the above embodiment. In RAM, various programs and data required for system operation are also stored. CPU, ROM and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.

[0139] The following components are connected to the I / O interface: an input part including a keyboard, a mouse, etc.; an output part including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage part including a hard disk, etc.; and a communication part including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication part performs communication processing via a network such as the Internet. A drive is also connected to the I / O interface as needed. Removable media, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., are installed on the drive as needed so that the computer program read therefrom is installed into the storage part as needed.

[0140] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person skilled in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims

1. A method for refreshing a virtual page, characterized in that: The refreshing method comprises: In response to the first current page refresh request, target data corresponding to each target business is determined from the target priority queues corresponding to each target business; wherein each target priority queue is updated based on the historical data set corresponding to the respective target business after responding to the most recent historical page refresh request, the time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate, each target priority queue includes at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue; The target page is obtained by refreshing the target data corresponding to each target business.

2. The refreshing method according to claim 1, characterized in that: The refreshing method further comprises: Record the number of historical pages refreshed within a preset time period, and determine the current frame rate based on the ratio of the number of historical pages to the preset time period; or, Recording the refresh time required to refresh a preset number of pages, and determining a current frame rate based on a ratio of the preset number of pages to the refresh time; A page refresh request is generated according to the current frame rate; wherein the number of page refresh requests is the same as the current frame rate.

3. The refreshing method according to claim 1, characterized in that: The refreshing method further comprises: If the current frame rate is greater than or equal to the first frame rate threshold, a service whose uplink rate is greater than the second frame rate threshold is determined as the target service; wherein the uplink rate refers to the transmission rate of uplink data corresponding to the service, and the first frame rate threshold is less than the second frame rate threshold; If the current frame rate is less than the first frame rate threshold, a service whose uplink rate is greater than the second frame rate threshold and whose priority satisfies a preset condition is determined as the target service.

4. The refreshing method according to claim 3, characterized in that: The refreshing method further comprises: If normal uplink data corresponding to a normal service is received, the target page is refreshed according to the normal uplink data and the target data corresponding to each target service in response to the second current page refresh request; wherein the normal service is a service whose uplink rate is less than or equal to the second frame rate threshold.

5. The refreshing method according to claim 1, wherein: Before determining the target data corresponding to each target service from the target priority queues corresponding to each target service, the method further includes: Receive the historical uplink data sets corresponding to each target business; wherein each historical uplink data set includes the historical uplink data uploaded concurrently by multiple devices; Based on the timestamp of each historical uplink data in each historical uplink data set, determine the processing priority corresponding to each historical uplink data; wherein, the smaller the difference between the corresponding timestamp and the current time, the higher the processing priority of the historical uplink data; According to the processing priority, each historical upstream data is saved as the data to be rendered in the corresponding initially empty bidirectional linked list in turn to obtain the corresponding target priority queue.

6. The refreshing method according to claim 1, characterized in that: Determining target data corresponding to each target service from the target priority queues corresponding to each target service includes: Traversing each target business, taking the traversed target business as the focus target business, and taking the target priority queue corresponding to the focus target business as the focus target priority queue; Determine the queue identifier of the focus target priority queue according to the correspondence between the focus target service and the focus target priority queue; wherein the queue identifier is an index pointer pointing to the focus target priority queue; The target data in the focus target priority queue is determined according to the queue identifier.

7. The refreshing method according to claim 6, characterized in that: After taking the first to-be-rendered data in the focus target priority queue as the target data according to the queue identifier, the refresh method further includes: Pointing the index pointer of the focus target priority queue to any empty node to clear the data to be rendered in the focus target priority queue; wherein the empty node is a memory address that does not store any data; Each uplink data in the current uplink data set corresponding to the focus target business at the current moment is saved as new data to be rendered in a bidirectional linked list with the empty node as the head node, generating a new focus target priority queue corresponding to the focus target business.

8. A virtual page refresh device, characterized in that: The device comprises: A determination module, in response to a first current page refresh request, determines target data corresponding to each target business from target priority queues corresponding to each target business; wherein each target priority queue is updated based on a historical data set corresponding to each target business after responding to the most recent historical page refresh request, the time interval between the first current page refresh request and the most recent historical page refresh request is related to the current frame rate, each target priority queue includes at least one data to be rendered, and each target data is the data to be rendered with the highest processing priority in the corresponding target priority queue; The processing module refreshes the target page according to the target data corresponding to each target business.

9. A device, characterized in that: include: Controller; A memory for storing one or more programs, which, when executed by a controller, enables the controller to implement the method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method according to any one of claims 1 to 7.