RBI data processing method and device, equipment and medium

By obtaining and reordering the node change events of the web page DOM tree on the RBI server, generating new change events and reproducing them by the user, the problems of slow transmission speed and low security in the existing RBI technology are solved, and efficient and secure web information transmission is achieved.

CN119892595AActive Publication Date: 2025-04-25CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202311385929.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-24
Publication Date
2025-04-25
Estimated Expiration
2043-10-24

Smart Images

  • Figure CN119892595A_ABST
    Figure CN119892595A_ABST
Patent Text Reader

Abstract

The invention provides an RBI data processing method and device, equipment and a medium. The method comprises the steps that node changes of a DOM tree of a source station webpage are obtained through an RBI server side, change events are generated, each change event comprises at least one node change, and a sequential relation exists between the change events; the node changes in each change event are reordered, the increment of the node changes is obtained, and a new change event is obtained, and the new change event comprises the reordered node changes and the increment of the node changes; and reproducing the new change event through the user side according to the sequential relationship. According to the method, the data transmission efficiency and security can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to an RBI data processing method, device, equipment and medium. Background Art

[0002] RBI (Remote Browser Isolation) technology is a technology used to protect end-user devices from attacks by web browsers (network browsers). The core idea of ​​this technology is to isolate web browsers in a secure environment to prevent malicious code from attacking end-user devices through web browsers.

[0003] However, the existing RBI technology (remote browser isolation technology) does not have a very suitable implementation method. For example, video transmission technology is not well suitable for implementing remote browser isolation technology. In other words, the existing method of implementing remote browser isolation technology is not good, resulting in the corresponding RBI technology having shortcomings such as slow speed and low security.

[0004] Therefore, it is urgent to propose an implementation method that is more suitable for remote browser isolation technology. Summary of the invention

[0005] The present application provides an RBI data processing method, device, equipment and medium to solve the problems of low transmission speed and low security performance caused by poor implementation of RBI remote browser isolation technology in the prior art.

[0006] In a first aspect, the present application provides an RBI data processing method, comprising:

[0007] Obtain node changes of the DOM tree of the source site webpage through the RBI server, and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events;

[0008] Reorder the node changes in each of the change events, and obtain the increment of the node change to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node change;

[0009] According to the time sequence relationship, the new change event is reproduced through the user end.

[0010] In a possible implementation manner, reordering the node changes in each of the change events includes:

[0011] In each of the change events, obtaining the most recent state of the node corresponding to the node change;

[0012] Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained;

[0013] The order of the node changes is confirmed according to the initial states of the nodes corresponding to the node changes.

[0014] In a possible implementation, the acquiring the last state of the node corresponding to the node change in reverse order until the initial state of the node corresponding to the node change is obtained includes:

[0015] In each of the change events, obtaining whether the node corresponding to the node change is a parent node and whether the node corresponding to the node change in the change event has a child node corresponding to the parent node;

[0016] If the node corresponding to the node change is a parent node and there is a child node corresponding to the parent node in the node corresponding to the node change in the change event, then the previous state of the child node is obtained in reverse order until the initial state of the child node is obtained;

[0017] If the node corresponding to the node change is not a parent node, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained.

[0018] In a possible implementation, when generating a change event, the method further includes:

[0019] According to the time sequence of generating the change events, the change events are numbered consecutively to obtain the time sequence relationship between the change events, wherein the time sequence relationship is used to indicate the reproduction order of the new change events by the user end.

[0020] In a possible implementation, before obtaining the node changes of the DOM tree of the source site webpage through the RBI server, the method further includes:

[0021] Access the source site through the RBI server and obtain the DOM tree of the source site's web page;

[0022] Initially reconstructing the DOM tree of the real-time source site webpage through the RBI server to obtain an initial reconstructed DOM tree, and sending the initial reconstructed DOM tree to the user terminal;

[0023] The client is used to access the initialization webpage of the source site after receiving the initially reconstructed DOM tree.

[0024] In a possible implementation, after obtaining the new change event, the method further includes:

[0025] Convert the new change event into JSON format to obtain a new change event in JSON format;

[0026] Transmitting the new change event in JSON format to the user end in real time;

[0027] The user end is used to reproduce the new change event in the JSON format according to the time sequence relationship after receiving the new change event in the JSON format.

[0028] In a second aspect, the present application provides an RBI data processing device, comprising:

[0029] An acquisition module, used to acquire node changes of the DOM tree of the source site web page through the RBI server, and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events;

[0030] A first processing module is used to reorder the node changes in each of the change events, and obtain an increment of the node change to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node change;

[0031] The second processing module is used to reproduce the new change event through the user end according to the time sequence relationship.

[0032] In a possible implementation manner, the first processing module is specifically configured to:

[0033] In each of the change events, obtaining the most recent state of the node corresponding to the node change;

[0034] Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained;

[0035] The order of the node changes is confirmed according to the initial states of the nodes corresponding to the node changes.

[0036] In a third aspect, the present application provides an RBI data processing device, comprising: at least one processor and a memory;

[0037] The memory stores computer-executable instructions;

[0038] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the RBI data processing method as described above.

[0039] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of the RBI data processing method as described above when executed by a processor.

[0040] The present application provides an RBI data processing method, apparatus, device and medium, which obtains node changes of the DOM tree of the source site web page through the RBI server and generates change events, wherein each of the change events includes at least one node change and there is a time sequence relationship between the change events; the node changes in each change event are reordered, and the increment of the node change is obtained to obtain a new change event, wherein the new change event includes the reordered node change and the increment of the node change; according to the time sequence relationship, the new change event is reproduced through the user end.

[0041] In the above method, the changes of the DOM tree of the source site web page, that is, the node changes, are monitored through the RBI server, and change events are generated corresponding to the node changes. Each change event is regarded as a group, and the node changes in the same group are processed together. The order of the node changes in each change event is relatively chaotic, so the node changes in the same group can be reordered to facilitate finding the increment of the node change, and a new change event including the reordered node change and the increment of the node change is obtained. The new change event is dynamically transmitted to the user end, so that the user end can update the page information according to the new change event, thereby realizing efficient transmission of the source site web page information while ensuring security. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0043] Figure 1 A schematic diagram of a scenario of RBI data processing provided in an embodiment of the present application;

[0044] Figure 2 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 1 ;

[0045] Figure 3 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 2 ;

[0046] Figure 4A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 3 ;

[0047] Figure 5 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 4 ;

[0048] Figure 6 A diagram of an RBI data processing device provided by an embodiment of the present invention;

[0049] Figure 7 A hardware schematic diagram of an RBI data processing device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0050] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0051] RBI technology is a remote browser isolation technology that can prevent malicious code from attacking the client device / end-user device through the web browser when the client device / end-user device accesses the web browser by transmitting the browser's rendering process from the server to the client device / end-user device;

[0052] However, the existing RBI technology does not have a good implementation method. For example, video transmission technology is mainly used to transmit audio and video data, which cannot allow RBI technology to achieve safe and efficient isolation. Therefore, the existing RBI technology generally has disadvantages such as slow speed, low security, high bandwidth requirements, and poor server security.

[0053] Therefore, this application will optimize the processing process of RBI technology to improve the data transmission rate and data transmission security, etc.

[0054] The following describes the implementation process of an RBI data processing method proposed in the present application in conjunction with the accompanying drawings and specific embodiments.

[0055] Figure 1 A schematic diagram of a scenario of RBI data processing provided in an embodiment of the present application. Figure 1 As shown, the system includes: a source station, an RBI server and a user terminal;

[0056] The source station is the remote network browser that the user wants to access; the RBI server is used as the middleware for the user to access the source station, and is used to obtain the web page information of the source station; the RBI server includes a service browser and a renderer; the service browser is used to obtain the web page information of the source station and the information that needs to be presented to the user, and present the corresponding information to the user; the obtained web page information can be rendered by the renderer, and the rendered information can be transmitted to the user through the RBI server;

[0057] The web page information of the source site web page will change, and the corresponding DOM tree will also change. The monitoring process (watches.js) in the RBI server can monitor the node changes of the DOM tree of the source site web page and generate change events according to the node changes. A change event includes at least one node change. The node changes of each change event are reordered to find the change of the node corresponding to the node change, that is, the increment of the node change. The node changes of the change event are reordered and the increment is obtained to form a new change event. According to the timing relationship of the new change event, the user end can reproduce the new change event in sequence to update the access page in time.

[0058] Figure 2 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 1 .like Figure 2 As shown, the method includes:

[0059] S201. Obtain node changes of the DOM tree of the source site web page through the RBI server, and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events.

[0060] Before the RBI server monitors the node changes of the DOM tree of the source site webpage, the RBI server has already initialized and rendered the initial page of the source site for the user when the user needs to access the source site:

[0061] For example, access the source site through the RBI server and obtain the DOM tree of the source site web page;

[0062] Initially reconstructing the DOM tree of the real-time source site webpage through the RBI server to obtain an initial reconstructed DOM tree, and sending the initial reconstructed DOM tree to the user terminal;

[0063] The client is used to access the initialization webpage of the source site after receiving the initially reconstructed DOM tree.

[0064] According to the access requirements of the user, the RBI server knows that the user needs to access a certain source web page of the source station; the RBI server obtains the DOM tree of the source web page, and performs initial reconstruction based on the DOM tree of the source web page, that is, initial rendering; during the initial reconstruction, the DOM tree of the source web page has not been loaded, so after the RBI server sends the initial reconstructed DOM tree to the user, the source web page accessed by the user only displays part of the content of the web page; this basically does not affect the display effect, and also allows the user to quickly access the corresponding source web page. Regardless of whether a node change occurs later, the source web page accessed by the user can be fully displayed. If a node change occurs, the display is updated and fully displayed at the same time;

[0065] The subsequent process of the RBI server monitoring the node changes of the DOM tree of the source site web page and allowing the user to update the accessed web page is a cyclic process, and there is no need to perform initial rendering every time a node change is monitored.

[0066] The DOM tree can be used to represent the hierarchical structure of all elements of a web document. A web page corresponds to a document, and each document can be represented by a DOM tree. A DOM tree consists of multiple nodes. Except for the root node, each node has a parent node, and the node with a parent node is a child node, that is, a node may be both a parent node and a child node. For example, node A is the root node, node a1 and node a2 are child nodes of node A, node b1 is a child node of node a1 (node ​​a1 is the parent node of node b1), and node c1 and node c2 are child nodes of node a2 (node ​​a2 is the parent node of node c1 and node c2).

[0067] The content of nodes in the DOM tree includes: tags (all tags are elements), attributes, text, comments, etc.; the changes of nodes in the DOM tree are monitored by the RBI server. For example, if an element is a box with text (the text is a child node of the box), and the text content changes, the RBI server detects the node change (Mutation) and generates a mutation event corresponding to the node change. Sometimes, multiple nodes in the DOM tree will change at one time, and these node changes can be aggregated into one mutation event for processing;

[0068] After a change event is summarized, subsequent node changes can be summarized into another change event, so there is a time sequence relationship between each change event:

[0069] For example, the change events are numbered consecutively according to the time sequence of generating the change events to obtain the time sequence relationship between the change events, wherein the time sequence relationship is used to indicate the order of reproduction of the new change events by the user end.

[0070] There is a time sequence in the process of RBI server-side generating change events (MutationObserver events). The earlier the change events are generated, the more they need to be processed by the user-side first. Therefore, when generating change events, the change events are numbered consecutively according to the time sequence, and can be numbered from small to large; for example, change event 1, change event 2, change event 3, change event 4; the numbering order is the temporal relationship.

[0071] S202: Reorder the node changes in each of the change events, and obtain the increment of the node changes to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node changes.

[0072] When there are multiple node changes in a change event, the order of each node change is chaotic in the change event. Therefore, in order to obtain the increment of the node change, the node changes need to be reordered and sorted according to the order in which the node changes actually occurred. Each node change corresponds to only one node.

[0073] When reordering, the node change process can be found by reordering each node, so as to obtain the order and increment of the node change. The node change in the change event becomes a new change event after reordering. The new change event includes the reordered node change and the increment of the node change.

[0074] S203: Reproducing the new change event through the user end according to the time sequence relationship.

[0075] New change events and change events have the same time sequence relationship. Before transmission, the RBI server needs to transform the new change events. Because the transformation speed of each new change event is different, the process of transmitting the transformed new change events to the user end is out of order. However, the user end still needs to reproduce the new change events according to the time sequence relationship.

[0076] For example, the temporal relationship of new change events is new change event 1, new change event 2, new change event 3, and new change event 4. The order of transmission to the user end is new change event 1, new change event 3, new change event 4, and new change event 2. The user end receives new change event 3 first but does not process it. It has to wait until new change event 2 is received and reproduced before processing new change event 3 to ensure a smooth user experience.

[0077] In an embodiment of the present application, the changes in the DOM tree of the source site web page, that is, node changes, are monitored by the RBI server, and change events are generated corresponding to the node changes. Each change event is regarded as a group, and the node changes in the same group are processed together. The order of the node changes in each change event is relatively chaotic, so the node changes in the same group can be reordered to facilitate finding the increment of the node change, and a new change event including the reordered node changes and the increment of the node change is obtained. The new change event is dynamically transmitted to the user end, so that the user end can update the page information according to the new change event, thereby realizing efficient transmission of the source site web page information while ensuring security.

[0078] Figure 3 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 2 .like Figure 3 As shown, the method includes:

[0079] S301. In each of the change events, obtain the most recent state of the node corresponding to the node change.

[0080] For each change event, when confirming the order of node changes, you can first obtain the most recent state of the node corresponding to the node change, that is, the node change records the state of the node after the most recent change; for example, an element is a box with text (the text is a child node of the box), and the text content changes as follows: cloudy - rainy - sunny, and sunny is the most recent state of the node corresponding to the node change.

[0081] S302: Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained.

[0082] The change process of the node corresponding to the node change is always monitored by the RBI server, so the last state of the node corresponding to the node change can be obtained one by one in reverse order. For example, the text content changes as follows: cloudy-rainy-sunny, the last state of sunny is rainy, and the last state of rainy is cloudy; until the initial state of the node corresponding to the node change is obtained, the reverse order is stopped; the initial state is divided into different situations, including: if the page has just been initialized and rendered, the initial state of the node is the state corresponding to the initial page; if the page has been updated, the initial state is the state of the node after the most recent update.

[0083] S303: confirm the order of the node changes according to the initial states of the nodes corresponding to the node changes.

[0084] By comparing the initial states of the nodes corresponding to the node changes, we can know which node changes first and which node changes last, and reorder the node changes in the order of change; for example, the first time: node a1 does not change, node a2 changes, the second time: node a1 changes, node a2 does not change, the third time: node a1 changes, node a2 changes, and looking backwards, node a2 changes first.

[0085] In the embodiment of the present application, each node change in each change event is reordered in reverse order to facilitate subsequent finding of the node change increment.

[0086] The subsequent method of obtaining increments is to compare the initial state of the node with the most recent state to obtain the increment of the node change. For example, the text content changes to: cloudy-rainy-sunny, and the increment is from cloudy to sunny. On the page display pushed to the user end, the intermediate quantity "rainy day" is not displayed.

[0087] Figure 4 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 3 .like Figure 4 As shown, the method includes:

[0088] S401. In each of the change events, obtain whether the node corresponding to the node change is a parent node and whether a child node corresponding to the parent node exists in the node corresponding to the node change in the change event.

[0089] There is a parent-child relationship between the nodes that have changed; for example, an element is a box with text (the text is the child of the box) content, and the text content changes from cloudy to rainy to sunny; the box change is a node change, and the changed node corresponds to the box, but the node change corresponding to the box does not actually record the changed content, but is reflected by its child nodes, that is, the text change is a node change, and the changed node corresponds to the text, and the most recent state of the changed content is sunny;

[0090] If the node corresponding to the node change is a parent node, the initial state of the parent node and the order of other nodes can be confirmed based on the changes of its child nodes.

[0091] S402. If the node corresponding to the node change is a parent node and there is a child node corresponding to the parent node in the node corresponding to the node change in the change event, the previous state of the child node is obtained in reverse order until the initial state of the child node is obtained.

[0092] If the node corresponding to the node change is the parent node, and the node corresponding to the node change in the change event of the parent node is the child node of the parent node, then the initial state order of the parent node is related to the child node. The initial state of the child node can be confirmed step by step through the reverse method to confirm the order of the node change corresponding to the parent node according to the initial state of the child node.

[0093] S403: If the node corresponding to the node change is not a parent node, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained.

[0094] If the node corresponding to the node change is not a parent node, then the node change has no child node reference, and the initial state of the node corresponding to the node change is directly confirmed in reverse order to confirm the order of the parent node corresponding to the node change.

[0095] In the embodiment of the present application, the order of node changes is confirmed by checking whether there are any sub-node changes in the node during the node change, so as to ensure that the order of each node change is correctly obtained.

[0096] Figure 5 A schematic diagram of a RBI data processing method provided in an embodiment of the present application Figure 4 .like Figure 5 As shown, the method includes:

[0097] S501. Convert the new change event into JSON format to obtain a new change event in JSON format.

[0098] The RBI server will convert the new change event into JSON format, and use the corresponding function to convert the node corresponding to the node change into JSON format. The function processing process is asynchronous, so each new change event is not converted according to the original time sequence relationship, and is sent to the user end immediately after the conversion is completed, resulting in the converted new change event finally sent to the user end not being arranged in the original time sequence relationship.

[0099] S502, transmitting the new change event in JSON format to the user end in real time;

[0100] The user end is used to reproduce the new change event in the JSON format according to the time sequence relationship after receiving the new change event in the JSON format.

[0101] The new change events converted into JSON format are transmitted to the user end in real time. The new change events in JSON format are not arranged according to the original time sequence, but are arranged according to the transmission order. However, the user end needs to reproduce the new change events in JSON format according to the time sequence. The specific process of reproducing the new change events is exemplified in the above embodiment, which will not be repeated here.

[0102] The client receives the new change event in JSON format, confirms which content on the page needs to be changed, and renders it accordingly.

[0103] In the embodiment of the present application, the transmission speed and security are improved by converting the new change event into JSON format.

[0104] Figure 6 A diagram of an RBI data processing device provided by an embodiment of the present invention, such as Figure 6 As shown, the device includes: an acquisition module 601, a first processing module 602 and a second processing module 603;

[0105] The acquisition module 601 is used to acquire the node changes of the DOM tree of the source site web page through the RBI server and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events.

[0106] The first processing module 602 is used to reorder the node changes in each of the change events, and obtain the increment of the node changes to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node changes.

[0107] The first processing module 602 is further configured to obtain the most recent state of the node corresponding to the node change in each of the change events;

[0108] Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained;

[0109] The order of the node changes is confirmed according to the initial states of the nodes corresponding to the node changes.

[0110] The first processing module 602 is further used to obtain, in each of the change events, whether the node corresponding to the node change is a parent node and whether the node corresponding to the node change in the change event has a child node corresponding to the parent node;

[0111] If the node corresponding to the node change is a parent node and there is a child node corresponding to the parent node in the node corresponding to the node change in the change event, then the previous state of the child node is obtained in reverse order until the initial state of the child node is obtained;

[0112] If the node corresponding to the node change is not a parent node, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained.

[0113] The second processing module 603 is used to reproduce the new change event through the user terminal according to the time sequence relationship.

[0114] The present application also provides an RBI data processing device, comprising: at least one processor and a memory;

[0115] The memory stores computer-executable instructions;

[0116] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the RBI data processing method.

[0117] Figure 7 The hardware diagram of the RBI data processing device provided by the embodiment of the present invention is shown in FIG. Figure 7 As shown, the RBI data processing device 70 provided in this embodiment includes: at least one processor 701 and a memory 702. The device 70 also includes a communication component 703. The processor 701, the memory 702 and the communication component 703 are connected via a bus 704.

[0118] In a specific implementation process, at least one processor 701 executes the computer-executable instructions stored in the memory 702, so that at least one processor 701 executes the above RBI data processing method.

[0119] The specific implementation process of the processor 701 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.

[0120] In the above Figure 7In the illustrated embodiment, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0121] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.

[0122] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0123] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the RBI data processing method as described above is implemented.

[0124] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0125] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.

[0126] The division of the units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, which may be electrical, mechanical or other forms.

[0127] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0128] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0129] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A RBI data processing method, characterized in that: include: Obtain node changes of the DOM tree of the source site webpage through the RBI server, and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events; Reorder the node changes in each of the change events, and obtain the increment of the node change to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node change; According to the time sequence relationship, the new change event is reproduced through the user end.

2. The method according to claim 1, characterized in that The reordering of the node changes in each of the change events includes: In each of the change events, obtaining the most recent state of the node corresponding to the node change; Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained; The order of the node changes is confirmed according to the initial states of the nodes corresponding to the node changes.

3. The method according to claim 2, characterized in that The acquiring the last state of the node corresponding to the node change in reverse order until the initial state of the node corresponding to the node change is obtained includes: In each of the change events, obtaining whether the node corresponding to the node change is a parent node and whether the node corresponding to the node change in the change event has a child node corresponding to the parent node; If the node corresponding to the node change is a parent node and there is a child node corresponding to the parent node in the node corresponding to the node change in the change event, then the previous state of the child node is obtained in reverse order until the initial state of the child node is obtained; If the node corresponding to the node change is not a parent node, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained.

4. The method according to claim 1, characterized in that: When the change event is generated, the method further includes: According to the time sequence of generating the change events, the change events are numbered consecutively to obtain the time sequence relationship between the change events, wherein the time sequence relationship is used to indicate the reproduction order of the new change events by the user end.

5. The method according to claim 1, characterized in that Before obtaining the node changes of the DOM tree of the source site webpage through the RBI server, the method further includes: Access the source site through the RBI server and obtain the DOM tree of the source site's web page; Initially reconstructing the DOM tree of the real-time source site webpage through the RBI server to obtain an initial reconstructed DOM tree, and sending the initial reconstructed DOM tree to the user terminal; The client is used to access the initialization webpage of the source site after receiving the initially reconstructed DOM tree.

6. The method according to claim 1, characterized in that After obtaining the new change event, the method further includes: Convert the new change event into JSON format to obtain a new change event in JSON format; Transmitting the new change event in JSON format to the user end in real time; The user end is used to reproduce the new change event in the JSON format according to the time sequence relationship after receiving the new change event in the JSON format.

7. An RBI data processing device, characterized in that: include: An acquisition module, used to acquire node changes of the DOM tree of the source site web page through the RBI server, and generate change events, wherein each of the change events includes at least one node change, and there is a time sequence relationship between the change events; A first processing module is used to reorder the node changes in each of the change events, and obtain an increment of the node change to obtain a new change event, wherein the new change event includes the reordered node changes and the increment of the node change; The second processing module is used to reproduce the new change event through the user end according to the time sequence relationship.

8. The device according to claim 7, characterized in that The first processing module is specifically used for: In each of the change events, obtaining the most recent state of the node corresponding to the node change; Based on the most recent state of the node corresponding to the node change, the previous state of the node corresponding to the node change is obtained in reverse order until the initial state of the node corresponding to the node change is obtained; The order of the node changes is confirmed according to the initial states of the nodes corresponding to the node changes.

9. An RBI data processing device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the RBI data processing method according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the RBI data processing method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Method and device for detecting webpage changes

    CN104199915A

  • A browser compatibility analysis method based on event playback

    CN109684220A

  • Page function item management method and device, computer equipment and readable storage medium

    CN114385952A

  • Incremental document object model updating

    US11194885B1

  • Method and apparatus for determining partial updates for a document object model

    US20150193399A1