Data pushing method and device, electronic equipment and storage medium

By establishing a data virtualization view between the client and the server, and calculating the push range based on window information, the inefficiency and resource waste problems in existing data push methods are solved, and efficient data push and processing are achieved.

CN116668541BActive Publication Date: 2026-03-27INSPUR TIANYUAN COMM INFORMATION SYST CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-12
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing data push methods suffer from low efficiency, resource waste, and high latency. Especially when the client's processing capacity is limited, proactive push is inefficient, batch retrieval methods increase latency and waste resources, and push-pull combined methods have high latency and slow synchronization.

Method used

By establishing a data virtualization view between the client and the server, the client calculates the data push range based on the window information of the current physical window, the server creates a data virtualization view based on filtering conditions, and the client pulls and updates the push data fragments in the virtualization view. It supports update modes such as sliding, timed, and show/hide to avoid repeated pulling.

Benefits of technology

It improves data push efficiency, reduces resource waste and network data transmission volume, lowers data latency to the client, and enhances resource utilization and data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116668541B_ABST
    Figure CN116668541B_ABST
Patent Text Reader

Abstract

The application provides a data pushing method and device, electronic equipment and a storage medium, the method comprising: sending a connection request to a server; obtaining window information of a current physical window of a client, calculating a first data pushing range of the current physical window based on the window information; and based on the first data pushing range, pulling a pushed data segment of the current physical window in a data virtualization view and updating. According to the first data pushing range, the pushed data segment matching the window size is pulled in the data virtualization view and updated, so that data is not repeatedly pulled, resource waste is reduced, resource utilization is improved, meanwhile, the pushed data segment is pulled in a micro-batch manner through the first data pushing range, the amount of data transmitted in the network is reduced, the time delay of data to the client is reduced, the data pushing efficiency is improved, meanwhile, the data virtualization view is created by the server to process the data visualization logic, and the data processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and in particular to a data pushing method and device, electronic equipment and storage medium. BACKGROUND

[0002] Current data pushing methods mainly include active pushing method, batch pulling method and push-pull combination method. The active pushing method, that is, after data is generated, the data is pushed to the client through the message channel, including data processing messages, which are processed by the client in real time. However, the processing performance of the client is low, which reduces the data pushing efficiency. The batch pulling method, that is, after data is generated, the data is first stored in the database, and then the client pulls the data from the database at a certain frequency or manually triggers the data pulling. Although the consumption of the client processing is reduced, the time delay of the data to the client is increased, which reduces the data pushing efficiency, and the full amount of data needs to be pulled each time, which causes resource waste due to repeated pulling of many data. The push-pull combination method, that is, the data itself is pushed in real time through the message channel, and the associated, clearing and updating messages are synchronized through the pulling method. Although the load of the client is reduced to a certain extent, the time delay and slow synchronization problems still exist. SUMMARY

[0003] The present application provides a data pushing method, device, electronic equipment and storage medium, which aims to improve the data processing and pushing efficiency and resource utilization.

[0004] In a first aspect, the present application provides a data pushing method applied to a client, comprising:

[0005] sending a connection request to a server, so that the server creates a data virtualization view according to the connection identity information and data filtering conditions in the connection request for data visualization logic processing;

[0006] obtaining window information of a current physical window of the client, and calculating a first data pushing range of the current physical window based on the window information;

[0007] pulling and updating a pushing data segment of the current physical window in the data virtualization view based on the first data pushing range;

[0008] The data mapping relationship exists between the current physical window of the client and the virtualization view of the server.

[0009] In one embodiment, the pulling and updating of the pushing data segment of the current physical window in the data virtualization view based on the first data pushing range comprises:

[0010] obtaining a data update mode of the current physical window;

[0011] pull and update the pushed data segment in the data virtualization view based on the data update mode and the first data push range.

[0012] The pulling and updating the pushed data segment in the data virtualization view based on the data update mode and the first data push range comprises:

[0013] If the data update mode is a first sliding update mode, when the data movement of the visible area changes to a first preset parameter, a second data push range is calculated, and the pushed data segment is pulled and updated in the data virtualization view based on the second data push range; the first sliding update mode represents that when the vertical scroll bar moves, the data movement of the visible area is still within the first data push range.

[0014] If the data update mode is a second sliding update mode, when the vertical scroll bar stops moving, a third data push range is calculated, and the pushed data segment is pulled and updated in the data virtualization view based on the third data push range; the second sliding update mode represents that when the vertical scroll bar moves, the data movement of the visible area is outside the first data push range.

[0015] If the data update mode is a timing update mode, the pushed data segment is pulled and updated in the data virtualization view at a preset frequency based on the first data push range; the timing update mode represents that the window is in a static and non-operation state.

[0016] If the data update mode is a display and hiding update mode, the identification ID and the display and hiding type of a first node in the data virtualization view are determined, and the pushed data segment is pulled and updated in the data virtualization view based on the first data push range, the identification ID and the display and hiding type of the first node; the display and hiding update mode represents that an operation signal of a cascaded folding button in the physical window is received.

[0017] The window information comprises a content height of a data display area, a line height of a data list, a vertical scroll bar position and a pre-cache parameter.

[0018] The first data push range of the current physical window is calculated based on the window information, and the window information comprises a content height of a data display area, a line height of a data list, a vertical scroll bar position and a pre-cache parameter.

[0019] The data number of the data display area is calculated based on the content height and the line height.

[0020] If it is determined that the vertical scroll bar position satisfies a first condition, a start row and an end row of the first data push range are determined based on the vertical scroll bar position, the pre-cache parameter and the data item number; the first condition is that the vertical scroll bar position is greater than a product of the data item number and the pre-cache parameter.

[0021] If it is determined that the vertical scroll bar position satisfies a second condition, a second preset parameter is determined as the start row of the first data push range, and an end row of the first data push range is determined based on the vertical scroll bar position, the pre-cache parameter and the data item number; the second condition is that the vertical scroll bar position is less than or equal to the product of the data item number and the pre-cache parameter.

[0022] In a second aspect, a data push method is applied to a server and includes the following steps.

[0023] A connection request sent by a client is received.

[0024] The connection request is parsed to obtain connection identity information and a data filtering condition in the connection request.

[0025] If it is determined that the connection identity information is verified, a data virtualization view is created based on the data filtering condition.

[0026] The client pulls a push data segment of a current physical window and updates in the data virtualization view based on a first data push range of the current physical window.

[0027] In an embodiment, after the data virtualization view is created based on the data filtering condition, the following steps are further included.

[0028] The data virtualization view is distributed with to-be-processed stream data based on the data filtering condition, and a view tree of the data virtualization view is updated based on the to-be-processed stream data.

[0029] The view tree of the data virtualization view is updated based on the to-be-processed stream data, including the following steps.

[0030] If it is determined that the target stream data is not self data, it is determined whether the target stream data is associated message; the target stream data is any data of the to-be-processed stream data.

[0031] If it is determined that the target stream data is not associated message, it is determined whether the target stream data is clear message.

[0032] If it is determined that the target stream data is not clear message, it is determined whether the target stream data is update message.

[0033] If it is determined that the target stream data is an update message, a second node is determined in the view tree according to a node ID to be updated in the target stream data, and a data attribute of the second node is updated based on content in the target stream data.

[0034] After the determination of whether the target stream data is the association message, the method further includes:

[0035] If it is determined that the target stream data is the association message, a sub-node ID to be associated in the target stream data and a parent node ID of the view tree are determined.

[0036] An original sub-tree to which the sub-node ID to be associated belongs is determined, and a third node is determined according to the sub-node ID to be associated.

[0037] The third node is removed from the original sub-tree, and the third node is added to a parent node corresponding to the parent node ID.

[0038] After the determination of whether the target stream data is the clear message, the method further includes:

[0039] If it is determined that the target stream data is the clear message, a node ID to be cleared in the target stream data is determined, and a fourth node is determined according to the node ID to be cleared.

[0040] If it is determined that the fourth node contains a sub-node, a parent node of the sub-node is adjusted to be a parent node of the fourth node, and the adjusted fourth node is removed from the view tree.

[0041] If it is determined that the fourth node does not contain a sub-node, the fourth node is removed from the view tree.

[0042] In a third aspect, the present application provides a data pushing device applied to a client, including:

[0043] A sending module is configured to send a connection request to a server, so that the server creates a data virtualization view according to connection identity information and data filtering conditions in the connection request, and performs data visualization logic processing.

[0044] A calculation module is configured to obtain window information of a current physical window of the client, and calculate a first data pushing range of the current physical window based on the window information.

[0045] A data pushing module is configured to pull a pushing data segment of the current physical window in the data virtualization view based on the first data pushing range, and perform updating.

[0046] There is a data mapping relationship between the client's current physical window and the server's virtualized view.

[0047] Fourthly, the present invention provides a data push device applied to a server, comprising:

[0048] The receiving module is used to receive connection requests sent by clients;

[0049] The parsing module is used to parse the connection request to obtain the connection identity information and data filtering conditions in the connection request;

[0050] The view creation module is used to create a data virtualization view based on the data filtering conditions if it is determined that the connection identity information verification is successful.

[0051] Specifically, the client, based on the first data push range of the current physical window, pulls and updates the push data fragment of the current physical window in the data virtualization view.

[0052] Fifthly, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the data push method described in the first or second aspect.

[0053] In a sixth aspect, the present invention also provides a non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium comprising a computer program, which, when executed by the processor, implements the data push method described in the first or second aspect.

[0054] In a seventh aspect, the present invention also provides a computer program product, the computer program product comprising a computer program, which, when executed by the processor, implements the data push method described in the first or second aspect.

[0055] The data push method, apparatus, electronic device, and storage medium provided by this invention send a connection request to a server, so that the server can create a data virtualization view to process data visualization logic based on the connection identity information and data filtering conditions in the connection request; obtain the window information of the client's current physical window, and calculate the first data push range of the current physical window based on the window information; pull the push data fragment of the current physical window in the data virtualization view based on the first data push range and update it; and establish a data mapping relationship between the client's current physical window and the server's virtualization view.

[0056] In the process of data pushing, according to the first data pushing range of the current physical window of the client, a pushed data segment matching the window size of the current physical window is pulled and updated in the data virtualization view, so that data is not pulled repeatedly, resource waste is reduced, resource utilization is improved, the data pushing efficiency is improved by pulling the pushed data segment matching the window size of the current physical window in a micro-batch through the first data pushing range, the amount of data transmitted by the network is greatly reduced, the time delay of data to the client is reduced, and the data processing efficiency is improved by creating a data virtualization view on the server to process the data visualization logic. BRIEF DESCRIPTION OF DRAWINGS

[0057] In order to more clearly illustrate the technical solutions of the present application, the drawings needed in the embodiments or prior art description will be briefly introduced below. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.

[0058] Figure 1 is one of the flowcharts of the data pushing method provided by the present application;

[0059] Figure 2 is a schematic diagram of the relationship between the data virtualization view and the physical window provided by the present application;

[0060] Figure 3 is a schematic diagram of the module relationship provided by the present application;

[0061] Figure 4 is a schematic diagram of the explicit and implicit update provided by the present application;

[0062] Figure 5 is the second flowchart of the data pushing method provided by the present application;

[0063] Figure 6 is a schematic diagram of the data processing flow of the data virtualization view provided by the present application;

[0064] Figure 7 is a schematic diagram of the data processing timing provided by the present application;

[0065] Figure 8 is one of the structural schematic diagrams of the data pushing device provided by the present application;

[0066] Figure 9 is the second structural schematic diagram of the data pushing device provided by the present application;

[0067] Figure 10 is a structural schematic diagram of an electronic device provided by the present application. DETAILED DESCRIPTION

[0068] In order to make the objects, technical solutions and advantages of the present application clearer, the technical solutions in the present application will be described clearly and completely below with reference to the drawings in the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the protection scope of the present application.

[0069] The embodiments of the data pushing method provided by the present application are described. It should be noted that although the logical order is shown in the flowchart, the steps shown or described can be completed in an order different from that shown under certain data.

[0070] Referring to Figure 1 , Figure 1 is one of the flowcharts of the data pushing method provided by the present application. The data pushing method provided by the embodiments of the present application is applied to a client and includes the following steps.

[0071] In step 101, a connection request is sent to a server, so that the server creates a data virtualization view according to the connection identity information and data filtering conditions in the connection request for data visualization logic processing.

[0072] In step 102, the window information of the current physical window of the client is obtained, and the first data pushing range of the current physical window is calculated based on the window information.

[0073] In step 103, based on the first data pushing range, the pushing data segment of the current physical window is pulled and updated in the data virtualization view.

[0074] The embodiments of the present application take the client as an execution subject. The client and the server are connected in a wireless manner, which includes but is not limited to a wireless local area network and cloud communication.

[0075] Further, the client includes at least a connection module and an update module, and the server includes at least a service module. The connection module is mainly used to provide the data filtering conditions required by the streaming data and initiate a connection request. The service module is mainly used to receive the connection request, create a data virtualization view, and start streaming data processing. The update module is mainly used to pull and update the micro-batch data segment.

[0076] Therefore, when the client needs to pull data from the server, the client generates a connection request with its connection identity information and data filtering conditions required for streaming data, wherein the streaming data mainly refers to real-time generated streaming data such as alarm data, performance data, event data, log work orders, etc. The data filtering conditions mainly include a user account, a window identifier, a row filter, a column filter, and preloaded parameters. The window identifier is used to distinguish different data windows, and the window identifier is unique under the same user account. The row filter, which can also be referred to as a data filter, mainly filters the streaming data to be pushed by using a combination condition of a field and an attribute value, such as data type = alarm && data title = virtual machine DOWN && resource pool = North China region resource pool 01. The column filter, which can also be referred to as a field filter, mainly sets a field list of the streaming data pushed to the client. The preloaded parameters mainly refer to preloading a part of data from historical data to ensure the accuracy of data correlation, which can be set according to the number of records and the start time, such as preloading 500 records or preloading data after 0 o'clock of the current day.

[0077] Further, the connection module sends the connection request to the server, mainly through an open interface of the service module. The connection module calls a registration interface of the service module, passes the data filtering condition data to perform connection registration, and informs the service module of the connection identity information and the required data filtering condition, wherein the connection identity information is mainly used for identity authentication of the client, and the legality of the connection identity is judged. The service module can reject an illegal connection request. The identity authentication mode includes but is not limited to an account password verification mode, a token verification mode, and a certificate verification mode. The data filtering condition is the data filtering condition described above, that is, the user account, the window identifier, the row filter, the column filter, and the preloaded parameter.

[0078] Further, after the service module receives the connection request sent by the connection module, the service module analyzes the connection request to obtain the identity connection information and the data filtering condition in the connection request.

[0079] Further, the service module verifies the legality of the connection identity of the identity connection information through a preset identity authentication mode, and the preset identity authentication mode includes but is not limited to an account password verification mode, a token verification mode, and a certificate verification mode. If it is determined that the legality verification of the connection identity is passed, the service module creates a data virtualization view according to the data filtering condition to perform data visualization logic processing, wherein the data virtualization view is a data view that meets all the data filtering conditions in the connection request. Referring to Figure 2 , Figure 2 is a schematic diagram of a relationship between a data virtualization view and a physical window provided by the application. The data virtualization view corresponds to a specific display window of the client, that is, the data virtualization view and the current physical window of the client have a data mapping.

[0080] Therefore, it can be understood that after the service module is connected successfully, the virtualization view creation module is called to create a data virtualization view, the data virtualization view object includes connection identity information, data filtering conditions, and a unique view identifier generated according to the connection identity information and a timestamp, that is, a user account-window identifier-timestamp. The node attributes of the view tree in the data virtualization view include data identifier (such as data flow serial number), data state, data content, and parent node ID. Among them, the data identifier is mainly used to uniquely identify a piece of data; the data state is a display state / hidden state, and the data in the hidden state will not be pushed to the physical window when pulled, and the default is the display state; the data content is the specific attribute and value of the data; and the parent node ID mainly identifies the parent-child relationship, and the ID of the root node is 0 by default, and the IDs of other nodes are long integers greater than 0.

[0081] It should be noted that the data virtualization view maintains all the data in the window and organizes them in a view tree according to the association relationship, which can be pulled by the update module and can be updated according to real-time streaming data.

[0082] Therefore, the update template obtains the window information of the current physical window of the client, and calculates the first data push range of the current physical window according to the window information, wherein the window information includes the content height h, the line height rh, the vertical scroll bar position p, and the pre-cache parameter c of the current physical window. That is, it can be understood that the update template calculates the first data push range according to the content height h, the line height rh, the vertical scroll bar position p, and the pre-cache parameter c.

[0083] Further, the update template sends a pull request to the service module. After receiving the pull request, the service module pulls the push data segment of the current physical window in the data virtualization view according to the first data push range in the pull request, and returns the pulled push data segment to the update module. After receiving the push data segment sent by the service module, the update module updates the current physical window. For details, please refer to Figure 3 , Figure 3The module relationship schematic diagram provided by the application is that the connection module of the client sends a connection registration to the service module of the server, after the connection is successful, the update module of the client sends a pull request to the service module to obtain a push data segment. It should be noted that the push data segment includes a total data amount count in the data virtualization view, a start index start, an end index end and data data in a range range, wherein the total data amount count is used to calculate a scroll step of a vertical scroll bar (i.e. a moving distance of a content area corresponding to 1px movement of the vertical scroll bar), the start index start is an index of the first data in the data data in the data virtualization view, and the end index end is an index of the last data in the data data in the data virtualization view.

[0084] It should be further noted that after the update module pulls the data segment, the connection module can initiate a closing logout request to the service module, which is mainly completed through an open interface of the service module. After receiving the logout request, the service module performs cleaning work such as destroying the data virtualization view, logging out the connection information, and closing the connection.

[0085] The data push method provided by the embodiment of the application sends a connection request to a server, so that the server creates a data virtualization view to perform data visualization logic processing according to the connection identity information and data filtering conditions in the connection request; window information of a current physical window of the client is acquired, and a first data push range of the current physical window is calculated based on the window information; a push data segment of the current physical window is pulled and updated in the data virtualization view based on the first data push range; and there is a data mapping relationship between the current physical window of the client and the virtualization view of the server.

[0086] In the process of data push, the push data segment matching the window size of the current physical window is pulled and updated in the data virtualization view according to the first data push range of the current physical window, which avoids repeated data pulling and reduces resource waste, thereby improving resource utilization. At the same time, the push data segment matching the window size of the current physical window is pulled in a small batch through the first data push range, which greatly reduces the amount of data transmitted over the network and reduces the time delay of data to the client, thereby improving the data push efficiency. At the same time, the data virtualization view is created by the server to perform data visualization logic processing, thereby improving the data processing efficiency.

[0087] Further, the step 102 records that the first data push range of the current physical window is calculated based on the window information, including:

[0088] Based on the content height and the line height, the data number of the data display area is calculated.

[0089] If it is determined that the vertical scroll bar position satisfies a first condition, a starting row and an ending row of the first data push range are determined based on the vertical scroll bar position, the pre-cache parameter and the data number; the first condition is that the vertical scroll bar position is greater than a product of the data number and the pre-cache parameter.

[0090] If it is determined that the vertical scroll bar position satisfies a second condition, a second preset parameter is determined as the starting row of the first data push range, and the ending row of the first data push range is determined based on the vertical scroll bar position, the pre-cache parameter and the data number; the second condition is that the vertical scroll bar position is less than or equal to the product of the data number and the pre-cache parameter.

[0091] It should be noted that the update template mainly pulls a small batch of data segments suitable for the current physical window size from the data virtualization view through a second-level timer.

[0092] Therefore, the update template needs to calculate a data push range suitable for the current physical window size, and the embodiment of the application calculates the data push range suitable for the current physical window size through window information, wherein the window information includes a content height h, a line height rh, a vertical scroll bar position p and a pre-cache parameter c, the content height h is the size of a content area of the displayed streaming data in the current physical window; the line height rh is the height of one line of the data list in the current physical window; the vertical scroll bar position p identifies the index of the first visible data in the list of the current physical window, and is 0 by default, and changes synchronously with the sliding of the vertical scroll bar; the pre-cache parameter c is the proportion of the number of the front and rear data that is pre-fetched in advance to ensure the continuity of the sliding, and is ±30% by default.

[0093] Further, the update template calculates the data number v of the data display area according to the content height h and the line height rh, and the specific calculation formula of the data number v of the data display area is:

[0094] v=math.ceil(h / rh)

[0095] Wherein, math.ceil represents rounding up.

[0096] Further, if it is determined that the vertical scroll bar position p satisfies a first condition, the update template determines the starting row and the ending row of the first data push range according to the vertical scroll bar position p, the pre-cache parameter c and the data number v, and the first condition is that the vertical scroll bar position p is greater than the product of the data number v and the pre-cache parameter c, that is, the first condition is p>v*c, and specifically:

[0097] If it is determined that the longitudinal scroll bar position p satisfies: p>v*c, the starting behavior p-v*c is calculated, the ending behavior p+math.ceil(v*(1+c)) is calculated according to the longitudinal scroll bar position p, the pre-caching parameter c and the data number v, thus, the first data pushing range rang=[p-v*c, p+math.ceil(v*(1+c))].

[0098] Further, if it is determined that the longitudinal scroll bar position p satisfies a second condition, the second preset parameter is determined as the starting row of the first data pushing range, and the ending row of the first data pushing range is determined according to the longitudinal scroll bar position p, the pre-caching parameter c and the data number v, wherein the second preset parameter is generally 0, and the second condition is that the longitudinal scroll bar position p is less than or equal to the product of the data number v and the pre-caching parameter c, that is, the second condition is p≤v*c, and specifically:

[0099] If it is determined that the longitudinal scroll bar position p satisfies: p≤v*c, 0 is determined as the starting row, and the ending behavior math.ceil(p+v*(1+c)) is calculated, thus, the first data pushing range rang=[0, math.ceil(p+v*(1+c))].

[0100] The embodiment of the application calculates the starting row and the ending row of the first data pushing range, so that the push data segment matching the window size of the current physical window can be pulled and updated in the data virtualization view according to the first data pushing range, data duplication is avoided, resource waste is reduced, and the resource utilization rate is improved, meanwhile, the push data segment matching the window size of the current physical window is pulled in a micro-batch manner through the first data pushing range, the data amount of network transmission is greatly reduced, the time delay of data to the client is reduced, and the data pushing efficiency is improved.

[0101] The step 103 records that the push data segment of the current physical window is pulled and updated in the data virtualization view based on the first data pushing range, and the step 103 includes:

[0102] The data update mode of the current physical window is acquired.

[0103] The push data segment is pulled and updated in the data virtualization view based on the data update mode and the first data pushing range.

[0104] Specifically, the update module determines the data update mode of the current physical window, wherein the data update mode mainly includes a timing update mode, a sliding update mode and a display and hiding update mode.

[0105] Further, the updating module pulls and updates the pushed data segment in the data virtualization view in combination with the data update mode and the first data push range.

[0106] The embodiment of the present application pulls and updates the pushed data segment in the data virtualization view in combination with the data update mode and the first data push range, which can effectively reduce the time delay of data to the client, thereby improving the data push efficiency.

[0107] Further, the pulling and updating of the pushed data segment in the data virtualization view based on the data update mode and the first data push range comprises:

[0108] If the data update mode is a first sliding update mode, when the data movement change of the visible area is a first preset parameter, a second data push range is calculated, and the pushed data segment is pulled and updated in the data virtualization view based on the second data push range; the first sliding update mode represents that when the vertical scroll bar moves, the data movement of the visible area is still within the first data push range.

[0109] If the data update mode is a second sliding update mode, when the vertical scroll bar stops moving, a third data push range is calculated, and the pushed data segment is pulled and updated in the data virtualization view based on the third data push range; the second sliding update mode represents that when the vertical scroll bar moves, the data movement of the visible area is outside the first data push range.

[0110] If the data update mode is a timing update mode, the pushed data segment is pulled and updated in the data virtualization view at a preset frequency based on the first data push range; the timing update mode represents that the window is in a static and non-operation state.

[0111] If the data update mode is a visible and invisible update mode, the identification ID and the visible and invisible type of the first node in the data virtualization view are determined, and the pushed data segment is pulled and updated in the data virtualization view based on the first data push range, the identification ID and the visible and invisible type of the first node; the visible and invisible update mode represents that an operation signal of a cascaded folding button in the physical window is received.

[0112] Specifically, the updating module pulls and updates the pushed data segment in the data virtualization view in combination with the first data push range, the timing update mode, the sliding update mode and the visible and invisible update mode, and the specific analysis is as follows:

[0113] The sliding update mode refers to a synchronous update during the movement of the vertical scroll bar. Therefore, the sliding update mode can be divided into a first sliding update mode and a second sliding update mode. The first sliding update mode can be understood as a slow sliding update mode, and the second sliding update mode can be understood as a fast sliding update mode. The first sliding update mode is characterized in that, when the vertical scroll bar moves, the data movement of the visible area is still within the first data push range. The second sliding update mode is characterized in that, when the vertical scroll bar moves, the data movement of the visible area is outside the first data push range. Therefore, for the first sliding update mode:

[0114] If it is determined that the data update mode is the first sliding update mode, i.e., when the vertical scroll bar moves, the data movement of the visible area is still within the first data push range, the update module calculates a second data push range when the data movement of the visible area changes to a first preset parameter, and according to the second data push range, pulls and pushes the data segment in the data virtualization view and updates, to ensure the smoothness of the update and the scrolling.

[0115] The first preset parameter is (v*c) / 2. Therefore, it can be understood that, when the vertical scroll bar moves, the data movement of the visible area is still within the first data push range. At this time, when the data movement of the visible area changes to (v*c) / 2, a new second data push range is recalculated for data pulling and updating.

[0116] For the second sliding update mode:

[0117] If it is determined that the data update mode is the second sliding update mode, i.e., when the vertical scroll bar moves, the data movement of the visible area is outside the first data push range, the update module calculates a third data push range when the vertical scroll bar stops moving, and according to the third data push range, pulls and pushes the data segment in the data virtualization view and updates.

[0118] Therefore, it can be understood that the fast sliding update mode mainly refers to that the movement speed of the vertical scroll bar is very fast, such as directly dragging the scroll bar. At this time, when the vertical scroll bar stops moving, a new third data push range is used for data pulling and updating. It should be noted that the window visible area in the operation process is replaced by a skeleton screen, i.e., a blank row with only an outline is displayed, to improve the redrawing performance.

[0119] For the timing update mode:

[0120] If it is determined that the data update mode is the timing update mode, i.e., the window is in a static and non-operating state, the update module pulls and pushes the data segment in the data virtualization view and updates according to the first data push range at a preset frequency. The preset frequency is determined according to actual conditions.

[0121] The preset frequency can be 2 seconds, so it can be understood that when the window is in a static state without other operations, the first data push range is pushed every 2 seconds, and the data segment in the current window view area is pulled from the data virtualization view for updating in a timely manner.

[0122] It should be noted that since the data virtualization view processes streaming data in real time and updates to the view tree, the latest data in the first data push range can be pulled and updated to the current window view area at each timed update, achieving the update effect from the data virtualization view to the physical window. At the same time, since only data in the first data push range is pulled, the amount of data requested at a time is small and the data in the physical window is also small, greatly improving the push performance and display performance of the physical window.

[0123] For example, for a window with a content height h of 1080px, a line height rh of 30px, a vertical scroll bar position p of 0, and a pre-cache parameter v of ±30%, the data push range range is [0, 47], i.e. only 48 data is pulled, and the actual data object in the physical window is also only 48, while the amount of data that can be stored in the data virtualization view depends on the server memory allocation, avoiding the waste of transmission and display caused by pulling all tens of thousands of data into the physical window.

[0124] Further, when there is a vertical scroll bar sliding operation, the timed update is automatically paused, and the timed update is restarted after the sliding stops.

[0125] For the explicit and implicit update mode:

[0126] If it is determined that the data update mode is the explicit and implicit update mode, i.e. an operation signal for the cascading fold button in the physical window is received, the update module determines the identification ID and the explicit and implicit type of the first node in the data virtualization view, and according to the first data push range, the identification ID and the explicit and implicit type of the first node, the data segment is pulled and updated in the data virtualization view, which can be understood as:

[0127] The explicit and implicit update mainly refers to the update initiated when the operation signal for the cascading fold button in the physical window is received. For a tree-like list, operating the cascading fold button will cause the content area to be redrawn, i.e. the sub-tree is expanded or folded.

[0128] Therefore, in the pull data, in addition to passing the data push range range parameter, the explicit and implicit type (display / hidden) and the related child node ID are also needed to inform the data virtualization view to perform the explicit and implicit operation first, and then return the related data. Among them, the explicit and implicit operation of the data view mainly sets the data state of the related child node according to whether the explicit and implicit type is display or hidden, to identify whether the data participates in the calculation. After setting the data state of the related child node, the data virtualization view obtains the visible data that can be returned to the physical window according to the data push range range condition, and updates the physical window, such as Figure 4 , Figure 4 is the explicit and implicit update schematic diagram provided by the application, the first display data in the data virtualization view is mapped to the first data segment of the current physical window, the hidden data in the data virtualization view is mapped to the hidden data segment of the current physical window, and the second display data in the data virtualization view is mapped to the second data segment of the current physical window. The hidden data segment of the current physical window is not displayed, which can be understood as blank data.

[0129] The embodiment of the application can effectively reduce the time delay of data to the client by pulling and updating the data segment in multiple data update modes, thereby improving the data push efficiency.

[0130] Further, referring to Figure 5 , Figure 5 is the second flowchart of the data push method provided by the application. The data push method provided by the embodiment of the application is applied to the server side, and includes the following steps:

[0131] Step 104, receiving the connection request sent by the client;

[0132] Step 105, parsing the connection request to obtain the connection identity information and the data filtering condition in the connection request;

[0133] Step 106, if it is determined that the connection identity information verification is passed, creating a data virtualization view based on the data filtering condition.

[0134] The embodiment of the application takes the server as an execution subject, and the client and the server are connected in a wireless manner, wherein the wireless manner includes but is not limited to wireless local area network and cloud communication. Further, the client at least includes a connection module and an update module, and the server at least includes a service module, wherein the connection module is mainly used to provide the data filtering condition required by the streaming data and initiate the connection request, the service module is mainly used to receive the connection request, create the data virtualization view, and start the streaming data processing, and the update module is mainly used for micro-batch data segment pulling and virtual updating.

[0135] The service module receives the connection request sent by the connection module, parses the connection request, and obtains the connection identity information and the data filtering condition in the connection request.

[0136] Further, if it is determined that the legality verification of the connection identity fails, the service module rejects the data pulling operation and feeds back the failure information to the connection module.

[0137] Further, if it is determined that the legality verification of the connection identity passes, the service module creates a data virtualization view according to the data filtering condition, wherein the data virtualization view is a data view meeting all the data filtering conditions in the connection request. The data virtualization view maintains all the data in the window and is organized in a view tree according to the association relationship, can be pulled by the updating module, and can be updated according to real-time streaming data.

[0138] Therefore, it can be understood that after the connection succeeds, the service module calls the virtualization view creation module to create a data virtualization view according to the data filtering condition. Therefore, the data virtualization view object includes the connection identity information, the data filtering condition, and a unique view identifier generated according to the connection identity information and the timestamp, i.e., a user account-window identifier-timestamp.

[0139] Therefore, the node attribute of the view tree of the data virtualization view includes a data identifier (such as a data stream number), a data state, data content, and a parent node ID. The data identifier is mainly used to uniquely identify a piece of data; the data state is display / hide, and the data state is hidden by default; the data content is the specific attribute and value of the data; and the parent node ID mainly identifies the parent-child relationship, wherein the ID of the default root node is 0, and the IDs of other nodes are long integers greater than 0.

[0140] Further, the connection module pulls and updates the push data segment of the current physical window in the data virtualization view according to the first data push range of the current physical window, and the specific process is as shown in steps 101 to 103, which will not be described here.

[0141] The data pushing method provided by the embodiment of the application receives a connection request sent by a client; parses the connection request to obtain connection identity information and data filtering conditions in the connection request; creates a data virtualization view based on the data filtering conditions if it is determined that the connection identity information verification passes; and the client pulls and updates a push data segment of a current physical window in the data virtualization view based on a first data push range of the current physical window.

[0142] Therefore, the embodiment of the present application avoids repeated pulling of data, reduces resource waste, and improves resource utilization by the first data pushing range of the client in the data virtualization view, pulling a pushed data segment matching the window size of the current physical window back to the client. Meanwhile, the embodiment of the present application improves the processing efficiency of streaming data and reduces the time delay of data to the client by relying on the high performance and high concurrency of the server, creating a data virtualization view according to the data filtering condition, and thus fully utilizing the high performance, easy scalability and distributed processing capability of the server.

[0143] Further, the step 106 of creating a data virtualization view based on the data filtering condition further comprises:

[0144] Distributing the to-be-processed streaming data to the data virtualization view based on the data filtering condition, and updating the view tree of the data virtualization view based on the to-be-processed streaming data;

[0145] The step of updating the view tree of the data virtualization view based on the to-be-processed streaming data comprises:

[0146] If it is determined that the target streaming data is not the self data, it is determined whether the target streaming data is an associated message; the target streaming data is any data of the to-be-processed streaming data;

[0147] If it is determined that the target streaming data is not the associated message, it is determined whether the target streaming data is a clear message;

[0148] If it is determined that the target streaming data is not the clear message, it is determined whether the target streaming data is an update message;

[0149] If it is determined that the target streaming data is the update message, a second node is determined in the view tree according to the to-be-updated node ID in the target streaming data, and the data attribute of the second node is updated based on the content in the target streaming data.

[0150] Specifically, the service module distributes the to-be-processed streaming data to the data virtualization view according to the data filtering condition, and updates the view tree of the data virtualization view through the to-be-processed streaming data.

[0151] It should be noted that the streaming data processing mainly relies on the high performance and high concurrency of the server to standardize the real-time streaming data, and the standardization encapsulation includes but is not limited to self data, associated message, clear message and update message, and the to-be-processed streaming data is distributed according to the data filtering rule of each data virtualization view.

[0152] Therefore, after receiving the distributed stream data to be processed, the data virtualization view module processes respectively, and the processed data is in a standardized format: {type: data type, data: data content}, wherein the data type is an enumeration type, including data itself (data), association message (relation), clear message (clear) and update message (update).

[0153] It should be noted that when the data type is data itself, the data content is specific data; when the data type is the association message, the data content format is [{parent: parent node ID, children: [child node ID]}]; when the data type is the clear message, the data content format is [{node: node ID to be cleared}]; and when the data type is the update message, the data content format is [{node: node ID to be updated, data: {attribute name: attribute value}}].

[0154] As Figure 6 , Figure 6 is a data processing flow diagram of the data virtualization view provided by the application, and the main processing flow of updating the view tree of the data virtualization view by the service module calling the virtualization view creation module through the stream data to be processed is specifically as follows:

[0155] The virtualization view creation module traverses each stream data in the stream data to be processed, and determines the data type of each stream data one by one. The application embodiment takes one target stream data in the stream data to be processed as an example for illustration.

[0156] Therefore, first, it is determined whether the target stream data is data itself. If it is determined that the target stream data is data itself, the virtualization view creation module directly adds the target stream data to the view tree of the data virtualization view, and sets the parent node of the target stream data as the default root node.

[0157] If it is determined that the target stream data is not data itself, the virtualization view creation module determines whether the target stream data is an association message. If it is determined that the target stream data is not an association message, the virtualization view creation module determines whether the target stream data is a clear message. If it is determined that the target stream data is not a clear message, the virtualization view creation module determines whether the target stream data is an update message.

[0158] If it is determined that the target stream data is an update message, the virtualized view creation module finds the corresponding node in the view tree according to the node ID to be updated in the target stream data, and updates the data attribute related to the node according to the content of the target stream data, specifically: the virtualized view creation module determines the second node in the view tree of the data virtualized view according to the node ID to be updated in the target stream data, and updates the data attribute of the second node according to the content in the target stream data, to create the data virtualized view.

[0159] The stream data processing of the embodiment of the application mainly relies on the high performance and high concurrency of the server for real-time standardized encapsulation processing, that is, the view tree processing of the stream data is performed on the server side by the data virtualized view, the high performance, easy expansion and distributed processing capability of the server are fully utilized, the processing efficiency of the stream data is improved, the time delay of the data to the client is reduced, and thus the data pushing efficiency is improved.

[0160] Further, after determining whether the target stream data is an association message, the method further comprises:

[0161] If it is determined that the target stream data is an association message, the node ID to be associated in the target stream data and the parent node ID of the view tree are determined;

[0162] The original sub-tree to which the node ID to be associated belongs is determined, and a third node is determined according to the node ID to be associated;

[0163] The third node is removed from the original sub-tree, and the third node is added to the parent node corresponding to the parent node ID.

[0164] Specifically, if it is determined that the target stream data is an association message, the virtualized view creation module adjusts the view tree according to the content of the target stream data, and adjusts the original parent-child node relationship according to the association message, specifically:

[0165] The virtualized view creation module traverses the node ID to be associated in the target stream data and the parent node ID of the view tree. Further, the virtualized view creation module determines the original sub-tree to which the node ID to be associated belongs, and determines the third node according to the node ID to be associated. Further, the virtualized view creation module removes the third node from the original sub-tree, and adds the third node to the parent node corresponding to the parent node ID.

[0166] The stream data processing of the embodiment mainly relies on high-performance and high-concurrency of the server for real-time standardized packaging processing, that is, the data virtualization view performs view tree processing on the stream data on the server side, fully utilizes the high performance, easy expansion and distributed processing capability of the server, improves the processing efficiency of the stream data, reduces the time delay of the data to the client, and thus improves the data pushing efficiency.

[0167] Further, after determining whether the target stream data is a clear message, the method further includes:

[0168] If it is determined that the target stream data is a clear message, a to-be-cleared node ID in the target stream data is determined, and a fourth node is determined according to the to-be-cleared node ID.

[0169] If it is determined that the fourth node contains a child node, a parent node of the child node is adjusted to be a parent node of the fourth node, and the adjusted fourth node is removed from the view tree.

[0170] If it is determined that the fourth node does not contain a child node, the fourth node is removed from the view tree.

[0171] Specifically, if it is determined that the target stream data is a clear message, the virtualization view creation module finds a to-be-removed node according to the to-be-cleared node ID in the target stream data, and removes the to-be-removed node from the view tree. If the to-be-removed node contains a child node, the parent node of the child node needs to be adjusted to be the parent node of the to-be-removed node, and the specific adjustment includes:

[0172] The virtualization view creation module determines the to-be-cleared node ID in the target stream data, and determines a fourth node according to the to-be-cleared node ID. Further, it is determined whether the fourth node contains a child node. If it is determined that the fourth node contains a child node, the virtualization view creation module adjusts the parent node of the child node to be the parent node of the fourth node, and removes the adjusted fourth node from the view tree. Further, if it is determined that the fourth node does not contain a child node, the virtualization view creation module directly removes the fourth node from the view tree.

[0173] The stream data processing of the embodiment mainly relies on high-performance and high-concurrency of the server for real-time standardized packaging processing, that is, the data virtualization view performs view tree processing on the stream data on the server side, fully utilizes the high performance, easy expansion and distributed processing capability of the server, improves the processing efficiency of the stream data, reduces the time delay of the data to the client, and thus improves the data pushing efficiency.

[0174] Further, with reference to Figure 7 , Figure 7The data processing timing diagram is provided by the application, the connection module sends a connection request to the service module, the service module receives the connection request, and identity authentication is performed according to connection identity information in the connection request. If it is determined that the identity authentication is passed, the service module creates a data virtualization view according to the data filtering condition in the connection request.

[0175] Further, after the data virtualization view is created, the service module distributes the to-be-processed stream data to the data virtualization view according to the data filtering condition in the data virtualization view, and the virtualization view creation module performs data processing on the to-be-processed stream data and updates the view tree of the data virtualization view.

[0176] Further, after the data virtualization view is created, the service module returns prompt information of successful connection to the connection module. After receiving the prompt information of successful connection, the connection module notifies the update module that the connection is completed. Further, the update module initiates a data micro-batch pulling request to the service module according to the data pushing range. After receiving the data micro-batch pulling request, the service module returns data segments to the update module according to the data pushing range.

[0177] Further, the update module updates the content according to the data segments.

[0178] Further, after the data pulling is completed, the update module sends a connection closing to the connection module. At this time, the connection module sends a logout request to the service module. After receiving the logout request sent by the connection module, the service module logs out the data virtualization view, closes the connection, and returns prompt information of logout completion to the connection module.

[0179] Further, the data pushing device provided by the application corresponds to the data pushing method provided by the application.

[0180] Figure 8 As shown in the figure, Figure 8 The structure diagram of the data pushing device provided by the application is shown in the figure, the data pushing device is applied to a client, and comprises:

[0181] The sending module 801 is configured to send a connection request to a service end, so that the service end creates a data virtualization view according to connection identity information and a data filtering condition in the connection request to perform data visualization logic processing.

[0182] The acquisition calculation module 802 is configured to acquire window information of a current physical window of the client, and calculate a first data pushing range of the current physical window based on the window information.

[0183] The data pushing module 803 is configured to pull the pushed data segment of the current physical window in the data virtualization view based on the first data pushing range and update.

[0184] The data mapping relationship exists between the current physical window of the client and the virtualization view of the server.

[0185] Further, the acquisition calculation module 802 is further configured to:

[0186] based on the content height and the line height, calculate the data number of the data display area;

[0187] If it is determined that the vertical scroll bar position meets the first condition, then based on the vertical scroll bar position, the pre-caching parameter and the data number, the starting line and the ending line of the first data pushing range are determined; the first condition is that the vertical scroll bar position is greater than the product of the data number and the pre-caching parameter.

[0188] If it is determined that the vertical scroll bar position meets the second condition, then a second preset parameter is determined as the starting line of the first data pushing range, and based on the vertical scroll bar position, the pre-caching parameter and the data number, the ending line of the first data pushing range is determined; the second condition is that the vertical scroll bar position is less than or equal to the product of the data number and the pre-caching parameter.

[0189] Further, the data pushing module 803 is further configured to:

[0190] acquire the data update mode of the current physical window;

[0191] based on the data update mode and the first data pushing range in the data virtualization view, pull the pushed data segment and update.

[0192] Further, the data pushing module 803 is further configured to:

[0193] If the data update mode is a first sliding update mode, when the data movement change of the visible area is a first preset parameter, a second data pushing range is calculated, and based on the second data pushing range in the data virtualization view, the pushed data segment is pulled and updated; the first sliding update mode represents that when the vertical scroll bar moves, the data movement of the visible area is still within the first data pushing range.

[0194] If the data update mode is a second sliding update mode, a third data push range is calculated when the vertical scroll bar stops moving, and based on the third data push range, a push data segment is pulled and updated in the data virtualization view; the second sliding update mode represents that when the vertical scroll bar moves, the data of the visible area moves out of the first data push range.

[0195] If the data update mode is a timing update mode, based on the first data push range, a push data segment is pulled and updated in the data virtualization view at a preset frequency; the timing update mode represents that the window is in a static and non-operating state.

[0196] If the data update mode is a visible and invisible update mode, the identification ID and the visible and invisible type of a first node in the data virtualization view are determined, and based on the first data push range, the identification ID and the visible and invisible type of the first node, a push data segment is pulled and updated in the data virtualization view; the visible and invisible update mode represents that an operation signal of a cascaded folding button in a physical window is received.

[0197] Figure 9 As shown, Figure 9 is a structural schematic diagram of a data push device provided by the application, and the data push device is applied to a server end and includes:

[0198] The receiving module 901 is configured to receive a connection request sent by a client.

[0199] The analysis module 902 is configured to analyze the connection request to obtain connection identity information and data filtering conditions in the connection request.

[0200] The view creation module 903 is configured to create a data virtualization view based on the data filtering conditions if it is determined that the connection identity information is verified.

[0201] The client pulls a push data segment of the current physical window and updates the data virtualization view based on a first data push range of the current physical window.

[0202] Further, the data push device is further configured to:

[0203] Distribute to-be-processed streaming data to the data virtualization view based on the data filtering conditions, and update a view tree of the data virtualization view based on the to-be-processed streaming data.

[0204] The updating of the view tree of the data virtualization view based on the to-be-processed streaming data includes:

[0205] If it is determined that the target stream data is not the self data, it is determined whether the target stream data is an association message; the target stream data is any data of the to-be-processed stream data;

[0206] If it is determined that the target stream data is not the association message, it is determined whether the target stream data is a clear message;

[0207] If it is determined that the target stream data is not the clear message, it is determined whether the target stream data is an update message;

[0208] If it is determined that the target stream data is the update message, a second node is determined in the view tree according to a to-be-updated node ID in the target stream data, and a data attribute of the second node is updated based on content in the target stream data.

[0209] Further, the data pushing apparatus is further used for:

[0210] If it is determined that the target stream data is the association message, a to-be-associated sub-node ID in the target stream data and a parent node ID of the view tree are determined;

[0211] An original sub-tree to which the to-be-associated sub-node ID belongs is determined, and a third node is determined according to the to-be-associated sub-node ID;

[0212] The third node is removed from the original sub-tree, and the third node is added to a parent node corresponding to the parent node ID.

[0213] Further, the data pushing apparatus is further used for:

[0214] If it is determined that the target stream data is the clear message, a to-be-cleared node ID in the target stream data is determined, and a fourth node is determined according to the to-be-cleared node ID;

[0215] If it is determined that the fourth node contains a sub-node, a parent node of the sub-node is adjusted to be a parent node of the fourth node, and the adjusted fourth node is removed from the view tree;

[0216] If it is determined that the fourth node does not contain a sub-node, the fourth node is removed from the view tree.

[0217] The specific embodiments of the data pushing apparatus provided by the present application are basically the same as the above-mentioned embodiments of the data pushing method, and will not be repeated here.

[0218] Figure 10 An example of an entity structure schematic diagram of an electronic device is shown as Figure 10As shown, the electronic device can include a processor 1010, a communications interface 1020, a memory 1030, and a communications bus 1040, wherein the processor 1010, the communications interface 1020, and the memory 1030 complete mutual communication through the communications bus 1040. The processor 1010 can invoke a logical instruction in the memory 1030 to execute a data pushing method applied to a client, including:

[0219] sending a connection request to a server, so that the server creates a data virtualization view according to connection identity information and data filtering conditions in the connection request, and processes data visualization logic;

[0220] obtaining window information of a current physical window of the client, and calculating a first data pushing range of the current physical window based on the window information;

[0221] pulling and updating a pushing data segment of the current physical window in the data virtualization view based on the first data pushing range;

[0222] there is a data mapping relationship between the current physical window of the client and the virtualization view of the server.

[0223] The processor 1010 can invoke a logical instruction in the memory 1030 to execute a data pushing method applied to a server, including:

[0224] receiving a connection request sent by a client;

[0225] analyzing the connection request to obtain connection identity information and data filtering conditions in the connection request;

[0226] if it is determined that the connection identity information is verified, creating a data virtualization view based on the data filtering conditions;

[0227] wherein the client pulls and updates a pushing data segment of a current physical window in the data virtualization view based on a first data pushing range of the current physical window.

[0228] Moreover, the logic instructions in the memory 1030 described above can be implemented in the form of software function units and sold or used as independent products, and can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0229] In another aspect, the present application also provides a computer program product, which comprises a computer program stored on a non-transitory computer readable storage medium, and the computer program comprises program instructions, and when the program instructions are executed by a computer, the computer can execute the data pushing method provided by the above-mentioned methods, which is applied to a client and comprises:

[0230] sending a connection request to a server, so that the server creates a data virtualization view according to the connection identity information and the data filtering condition in the connection request, and performs data visualization logic processing;

[0231] obtaining window information of a current physical window of the client, and calculating a first data pushing range of the current physical window based on the window information;

[0232] pulling and updating a pushing data segment of the current physical window in the data virtualization view based on the first data pushing range;

[0233] The data mapping relationship between the current physical window of the client and the virtualization view of the server exists.

[0234] In another aspect, the present application also provides a computer program product, which comprises a computer program stored on a non-transitory computer readable storage medium, and the computer program comprises program instructions, and when the program instructions are executed by a computer, the computer can execute the data pushing method provided by the above-mentioned methods, which is applied to a server and comprises:

[0235] receiving a connection request sent by a client;

[0236] analyzing the connection request to obtain connection identity information and data filtering condition in the connection request;

[0237] If it is determined that the connection identity information is verified, a data virtualization view is created based on the data filtering condition.

[0238] The client pulls and updates a push data segment of the current physical window in the data virtualization view based on a first data push range of the current physical window.

[0239] In another aspect, the application further provides a non-transitory computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the data push method provided above, the method being applied to a client and comprising:

[0240] sending a connection request to a server, so that the server creates a data virtualization view based on connection identity information and a data filtering condition in the connection request to perform data visualization logic processing;

[0241] obtaining window information of a current physical window of the client, and calculating a first data push range of the current physical window based on the window information;

[0242] pulling and updating a push data segment of the current physical window in the data virtualization view based on the first data push range.

[0243] The current physical window of the client and the data virtualization view of the server have a data mapping relationship.

[0244] In another aspect, the application further provides a non-transitory computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the data push method provided above, the method being applied to a server and comprising:

[0245] receiving a connection request sent by a client;

[0246] analyzing the connection request to obtain connection identity information and a data filtering condition in the connection request;

[0247] If it is determined that the connection identity information is verified, a data virtualization view is created based on the data filtering condition.

[0248] The client pulls and updates a push data segment of the current physical window in the data virtualization view based on a first data push range of the current physical window.

[0249] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0250] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0251] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A data push method, characterized in that, Applied to the client side, including: A connection request is sent to the server, which then creates a data virtualization view based on the connection identity information and data filtering conditions in the connection request to process the data visualization logic. The server distributes real-time streaming data to the data virtualization view according to the data filtering conditions, updates the view tree of the data virtualization view using the streaming data, and performs standardized encapsulation of the streaming data, including encapsulation of its own data, associated messages, clear messages, and update messages. Obtain the window information of the current physical window of the client, and calculate the first data push range of the current physical window based on the window information; Based on the first data push range in the data virtualization view, pull the push data fragment of the current physical window and update it; There is a data mapping relationship between the current physical window of the client and the virtualized view of the server.

2. The data push method according to claim 1, characterized in that, The step of retrieving and updating the push data fragment of the current physical window based on the first data push range in the data virtualization view includes: Obtain the data update mode of the current physical window; Based on the data update mode and the first data push range, pull and update the data fragments in the data virtualization view.

3. The data push method according to claim 2, characterized in that, The step of retrieving and updating push data fragments in the data virtualization view based on the data update mode and the first data push range includes: If the data update mode is the first sliding update mode, then when the data movement in the visible area changes to the first preset parameter, the second data push range is calculated, and based on the second data push range, the data segment is pulled and updated in the data virtualization view; the first sliding update mode is characterized by: when the vertical scroll bar moves, the data movement in the visible area is still within the first data push range; If the data update mode is the second sliding update mode, then when the vertical scroll bar stops moving, the third data push range is calculated, and based on the third data push range, the data fragment is pulled and pushed in the data virtualization view and updated; the second sliding update mode is characterized by: when the vertical scroll bar moves, the data in the visible area moves outside the first data push range; If the data update mode is a timed update mode, then based on the first data push range, data segments are pulled and updated in the data virtualization view at a preset frequency; the timed update mode indicates that the window is in a static and inactive state. If the data update mode is a visible / hidden update mode, then the identifier ID and visible / hidden type of the first node in the data virtualization view are determined, and based on the first data push range, the identifier ID and visible / hidden type of the first node, the data segment is pulled and updated in the data virtualization view; the visible / hidden update mode is characterized by: receiving an operation signal for the cascading collapse button in the physical window.

4. The data push method according to any one of claims 1 to 3, characterized in that, The window information includes the content height of the data display area, the row height of the data list, the position of the vertical scroll bar, and pre-caching parameters; The calculation of the first data push range of the current physical window based on the window information includes: Based on the content height and the row height, the number of data entries in the data display area is calculated; If the vertical scroll bar position is determined to satisfy the first condition, then the starting and ending rows of the first data push range are determined based on the vertical scroll bar position, the pre-cached parameter, and the number of data entries; the first condition is: the vertical scroll bar position is greater than the product of the number of data entries and the pre-cached parameter; If the vertical scroll bar position is determined to meet the second condition, the second preset parameter is determined as the starting row of the first data push range, and the ending row of the first data push range is determined based on the vertical scroll bar position, the pre-cached parameter, and the number of data entries; the second condition is: the vertical scroll bar position is less than or equal to the product of the number of data entries and the pre-cached parameter.

5. A data push method, characterized in that, Applied to the server side, including: Receive connection requests sent by clients; The connection request is parsed to obtain the connection identity information and data filtering conditions in the connection request; If the connection identity information is verified successfully, a data virtualization view is created based on the data filtering conditions; The client, based on the first data push range of the current physical window, pulls and updates the push data fragment of the current physical window in the data virtualization view; After creating the data virtualization view based on the data filtering conditions, the method further includes: Based on the data filtering conditions, the system distributes streaming data to be processed to the data virtualization view, updates the view tree of the data virtualization view based on the streaming data to be processed, and performs standardized encapsulation of the streaming data to be processed. The standardized encapsulation includes encapsulation of its own data, associated messages, clear messages, and update messages.

6. The data push method according to claim 5, characterized in that, The process of updating the view tree of the data virtualization view based on the streaming data to be processed includes: If it is determined that the target streaming data is not its own data, then it is determined whether the target streaming data is a related message; the target streaming data is any data in the streaming data to be processed. If it is determined that the target streaming data is an unrelated message, then it is determined whether the target streaming data is a clear message; If it is determined that the target streaming data is a non-cleaning message, then it is determined whether the target streaming data is an update message; If the target streaming data is determined to be an update message, then based on the ID of the node to be updated in the target streaming data, the second node is determined in the view tree, and the data attributes of the second node are updated based on the content in the target streaming data.

7. The data push method according to claim 6, characterized in that, After determining whether the target streaming data is a related message, the process further includes: If the target streaming data is determined to be an associated message, then the ID of the child node to be associated and the ID of the parent node of the view tree in the target streaming data are determined. Determine the original subtree to which the ID of the child node to be associated belongs, and determine the third node based on the ID of the child node to be associated; Remove the third node from the original subtree and add the third node to the parent node corresponding to the parent node ID.

8. The data push method according to claim 6, characterized in that, After determining whether the target streaming data is a cleanup message, the process further includes: If the target streaming data is determined to be a clearing message, then the ID of the node to be cleared in the target streaming data is determined, and the fourth node is determined based on the ID of the node to be cleared; If it is determined that the fourth node contains child nodes, then the parent node of the child node is adjusted to be the parent node of the fourth node, and the adjusted fourth node is removed from the view tree; If it is determined that the fourth node does not contain any child nodes, then the fourth node is removed from the view tree.

9. A data push device, characterized in that, Applied to the client side, including: The sending module is used to send connection requests to the server, so that the server can create a data virtualization view for data visualization logic processing based on the connection identity information and data filtering conditions in the connection request. The server distributes real-time streaming data to be processed to the data virtualization view according to the data filtering conditions, updates the view tree of the data virtualization view with the streaming data to be processed, and performs standardized encapsulation of the streaming data to be processed. Standardized encapsulation includes encapsulation of the data itself, associated messages, clear messages, and update messages. The calculation module is used to obtain the window information of the current physical window of the client, and calculate the first data push range of the current physical window based on the window information; The data push module is used to pull and update the push data fragment of the current physical window in the data virtualization view based on the first data push range; There is a data mapping relationship between the current physical window of the client and the virtualized view of the server.

10. A data push device, characterized in that, Applied to the server side, including: The receiving module is used to receive connection requests sent by clients; The parsing module is used to parse the connection request to obtain the connection identity information and data filtering conditions in the connection request; The view creation module is used to create a data virtualization view based on the data filtering conditions if it is determined that the connection identity information verification is successful. The client, based on the first data push range of the current physical window, pulls and updates the push data fragment of the current physical window in the data virtualization view; The data push device is also used for: Based on the data filtering conditions, the system distributes streaming data to be processed to the data virtualization view, updates the view tree of the data virtualization view based on the streaming data to be processed, and performs standardized encapsulation of the streaming data to be processed. The standardized encapsulation includes encapsulation of its own data, associated messages, clear messages, and update messages.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the data push method according to any one of claims 1 to 4, or 5 to 8.

12. A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the data push method according to any one of claims 1 to 4, or 5 to 8.

Citation Information

Patent Citations

  • Data rendering method and device, electronic equipment and storage medium

    CN114519160A