A browser remote access method and system
By implementing a browser remote access method that assesses browser compatibility, encryption, and virus scanning, the security and stability issues during data transmission are resolved, enabling normal access and secure data transmission in different environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA ELECTRIC POWER RESEARCH INSTITUTE CO LTD
- Filing Date
- 2024-10-30
- Publication Date
- 2026-05-19
AI Technical Summary
Existing browser-based remote access technologies lack robust protection mechanisms during data transmission, which can easily affect the security and stability of the local system. In particular, when the remote end is infected by a virus, data can be easily stolen or tampered with, threatening the local system.
The system obtains the user agent string from the local server to determine compatibility, captures and encrypts operation data, uses the transmission server to decrypt and verify the data and scan for viruses, generates secure data and transmits it to the remote server. The remote server parses and executes the operation instructions, ensuring data security and stability.
It enables normal access to business systems that rely on Internet Explorer in different environments, ensuring data integrity and security, improving virus scanning speed and data transmission efficiency, and enhancing the real-time nature and convenience of user operations.
Smart Images

Figure CN119603294B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of browser compatibility, and more specifically, to a method and system for remote browser access. Background Technology
[0002] As the default browser for Microsoft Windows operating systems, Internet Explorer not only demonstrates superior performance on a technical level but also holds a pivotal position in enterprise applications and user habits. Its outstanding compatibility, especially its tight integration with the Windows system, allows IE to handle ActiveX controls and certain Windows Web technologies with ease, making it the sole access method for many legacy business systems and software tools, ensuring the stable operation of enterprise environments.
[0003] However, with the advancement of information technology application innovation (referred to as "IT innovation"), the operating environment for Internet Explorer (IE) is gradually becoming obsolete. Since many enterprises' critical business systems and applications still rely on IE's compatibility, directly disabling IE would cause these systems to malfunction. Furthermore, for users who need to migrate to the IT innovation environment, completely replacing all business systems that depend on IE requires significant time and financial costs. Therefore, in the IT innovation environment, the lack of an IE operating environment prevents the direct installation and use of IE, resulting in the inability to access business systems that depend on IE's compatibility.
[0004] Existing browser-based remote access technologies primarily utilize remote desktop access tools, remote desktop protocols, and cloud computing platforms. However, data transmission security is paramount. Especially when the remote end is infected with a virus, its data is more vulnerable to theft or tampering, further threatening the security of the local end during data transmission. For example, when using remote desktop access tools, this tampered or stolen data can be transmitted to the local system, compromising its security. When using remote desktop protocols, virus infection can degrade the performance of the remote system, affecting the transmission efficiency and stability of the protocol. When using cloud computing platforms, viruses on the remote end can further contaminate other virtual machines or servers sharing resources during data transmission, potentially paralyzing the entire platform. Therefore, the protection mechanisms of existing browser-based remote access technologies during data transmission are still inadequate. Summary of the Invention
[0005] To address the technical problem that existing browser remote access technologies have inadequate protection mechanisms during data transmission, which can easily affect the security and stability of local systems, this invention provides a browser remote access method and apparatus.
[0006] According to one aspect of the present invention, a browser remote access method is provided, comprising:
[0007] After receiving an access request from a local client, the local server obtains the user agent string of the local client, wherein the access request is for a business system that only supports the first browser;
[0008] The local client runtime environment is determined to be compatible with the first browser based on the user agent string, wherein the determination result includes compatibility with the first browser and incompatibility with the first browser;
[0009] When the judgment result is that the browser is incompatible with the first browser, the operation data of the local client is captured, encrypted, and encrypted operation event text is generated and transmitted to the transmission server.
[0010] The transmission server decrypts and verifies the encrypted operation event text and performs a virus scan to generate first secure data. After encrypting the data, it generates first encrypted data and transmits it to the remote terminal server.
[0011] The remote server parses the first encrypted data to obtain the operation instructions, executes the operation in the first browser on the remote end according to the operation instructions, and encrypts the operation result before transmitting it back to the local client in real time via the transmission server.
[0012] According to another aspect of the present invention, a browser remote access system is provided, the system comprising:
[0013] A local client is used to send access requests to a local server, wherein the access requests are for business systems that only support the first browser;
[0014] The local server receives access requests from local clients, obtains the user agent string of the local client, determines the compatibility of the local client's operating environment with the first browser based on the user agent string, and captures and encrypts the operation data of the local client when the judgment result is that it is not compatible with the first browser, generates encrypted operation event text, and transmits it to the transmission server.
[0015] The transmission server is used to decrypt and verify the encrypted operation event text and scan for viruses, generate first secure data, encrypt it and generate first encrypted data to transmit to the remote end server, and receive the encrypted operation result transmitted by the remote end server and return it to the local client.
[0016] The remote terminal server is used to parse the first encrypted data, obtain operation instructions, execute the operation in the first browser on the remote terminal according to the operation instructions, and encrypt the operation result and transmit it to the transmission server in real time.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, the storage medium storing a computer program for performing the methods described in any of the above aspects of the present invention.
[0018] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the method described in any of the preceding aspects of the present invention.
[0019] The browser remote access method and system of the present invention include the following steps: A local server receives an access request from a local client, obtains the user agent string of the local client, and determines the compatibility of the local client's operating environment with a first browser based on the user agent string. When the determination result indicates incompatibility with the first browser, the local server captures and encrypts the operation data of the local client, generates encrypted operation event text, and transmits it to a transmission server. The transmission server decrypts and verifies the encrypted operation event text and performs a virus scan, generates first secure data, encrypts it, and transmits it as first encrypted data to a remote server. The remote server parses the first encrypted data, obtains operation instructions, executes the operation in the remote first browser according to the operation instructions, and encrypts the operation result before transmitting it back to the local client in real time via the transmission server. The method and system can automatically use the remote first browser when the local client is incompatible with the first browser, based on the determination result of whether the local client's operating environment is compatible with the first browser. This ensures that business systems dependent on the first browser can be accessed normally in various environments. Furthermore, the transmission server performs rigorous decryption verification and virus scanning after receiving data transmitted from both the local and remote ends, ensuring data integrity and security. Furthermore, the transmission server groups or blocks data based on its size and quantity, and uses security software and edge computing nodes to perform virus scanning on the received data and the data blocks and / or groups to be transmitted in a multi-node manner. This not only improves the speed of virus scanning but also ensures the real-time performance and efficiency of data transmission. Further, the local server adjusts the capture interval of user operations based on the frequency of user actions, encrypts the captured data to generate encrypted operation event text, and transmits it to the remote server. The remote server then parses the text to obtain the operation instructions and executes the corresponding operations in the remote browser, achieving remote simulation of user operations and improving the real-time performance and convenience of user interaction. Attached Figure Description
[0020] Exemplary embodiments of the present invention can be more fully understood by referring to the following figures:
[0021] Figure 1 A flowchart of a browser remote access method according to a preferred embodiment of the present invention;
[0022] Figure 2 A flowchart illustrating the generation of encrypted operation event text according to a preferred embodiment of the present invention;
[0023] Figure 3 This is a flowchart illustrating the generation of first security data according to a preferred embodiment of the present invention;
[0024] Figure 4 This is a schematic diagram of the structure of a browser remote access system according to a preferred embodiment of the present invention;
[0025] Figure 5 This is a schematic diagram of the structure of an electronic device according to a preferred embodiment of the present invention. Detailed Implementation
[0026] Exemplary embodiments of the invention will now be described with reference to the accompanying drawings. However, the invention may be embodied in many different forms and is not limited to the embodiments described herein. These embodiments are provided to fully and completely disclose the invention and to fully convey its scope to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the drawings is not intended to limit the invention. In the drawings, the same units / elements are referred to by the same reference numerals.
[0027] Unless otherwise stated, the terms used herein (including technical terms) have their common meaning as understood by one of ordinary skill in the art. Furthermore, it is understood that terms defined in commonly used dictionaries should be understood to have a meaning consistent with the context of their relevant field, and not to be interpreted as having an idealized or overly formal meaning.
[0028] Exemplary methods
[0029] Figure 1 This is a flowchart of a browser remote access method according to a preferred embodiment of the present invention. Figure 1 As shown, the browser remote access method described in this preferred embodiment starts from step 101.
[0030] In step 101, after receiving the access request sent by the local client, the local server obtains the user agent string of the local client, wherein the access request is for a business system that only supports the first browser.
[0031] In this preferred embodiment, assume that a company has an outdated business system that only supports running on Internet Explorer (IE) on the Windows operating system, where IE is the first browser. A user initiates an access request to the outdated business system on their local computer. Upon receiving the access request, the local server obtains the user agent string of the local computer.
[0032] In step 102, the local client runtime environment is determined to be compatible with the first browser based on the user agent string, wherein the determination result includes compatibility with the first browser and incompatibility with the first browser.
[0033] Preferably, the step of determining the compatibility of the local client runtime environment with the first browser based on the user agent string includes:
[0034] The user agent string is parsed using a parsing tool to determine the version information and operating system data of the first browser;
[0035] The system determines whether the version information and operating system data of the first browser meet preset compatibility conditions. If the preset compatibility conditions are met, the determination result is determined to be compatible with the first browser; if the preset compatibility conditions are not met, the determination result is determined to be incompatible with the first browser.
[0036] In this preferred embodiment, a digital robot is configured on a remote server. When the judgment result indicates incompatibility with the first browser, the digital robot wakes up the remote first browser and performs rendering services, thereby ensuring successful access to the remote first browser from the local end. The digital robot, deployed on the remote end, is a control program capable of automated control and simulating user operations. This digital robot, a prior art technology, differs from real-world robots; it is deployed in a virtual digital world and helps users achieve a better user experience. The digital robot can interact with users through various means such as text, voice, images, and video, providing information, services, and entertainment. Based on technologies such as artificial intelligence, cloud computing, and big data, the digital robot can achieve autonomous learning, self-optimization, and self-evolution capabilities to adapt to different scenarios and needs; further details are omitted here.
[0037] Furthermore, when determining whether the version information and operating system data of the first browser meet the preset compatibility conditions, the following steps are taken:
[0038] A21, determine whether the version information of the first browser is within the range of browser versions supported by the local terminal; if yes, then jump to A22; if no, then determine that the preset compatibility conditions are not met.
[0039] A22, determine whether the operating system data is in the local preset compatibility operating system list; if yes, the preset compatibility conditions are met; otherwise, the preset compatibility conditions are not met.
[0040] In this preferred embodiment, when the user agent string of the local computer is parsed and it is found that the browser on the local end is Chrome, it is determined that the local computer's operating environment is incompatible with the first browser. Therefore, the first browser on the remote end is used for access. At this time, the digital robot wakes up the first browser on the remote server and loads the URL of the business system in the access request. Then, the first browser on the remote end starts rendering the page and transmits the rendering result to the local computer in real time.
[0041] By parsing the user agent string to obtain the browser version information and operating system data on the local end, the system can determine whether the local client's operating environment is compatible with the first browser, thus improving the accuracy and efficiency of environment determination.
[0042] Preferably, after determining the compatibility of the local client runtime environment with the first browser based on the user agent string, the method further includes:
[0043] If the determination result indicates compatibility with the first browser, the access request is executed using the local browser.
[0044] In step 103, when the judgment result is that the browser is incompatible with the first browser, the operation data of the local client is captured and encrypted, an encrypted operation event text is generated and transmitted to the transmission server.
[0045] Figure 2 This is a flowchart illustrating the generation of encrypted operation event text according to a preferred embodiment of the present invention. Figure 2 As shown, the step of generating encrypted operation event text in this preferred embodiment begins at 201.
[0046] In step 201, the initial sampling interval, initial operation frequency, and frequency evaluation period for capturing operation data are set, and keyboard hooks and mouse hooks are set on the local end through programming software. The operation data includes keyboard key presses, mouse clicks, mouse movements, mouse scrolling, and mouse coordinate positions.
[0047] In step 202, the keyboard hook and the mouse hook are used to capture the operation data of the local terminal within the initial sampling interval to obtain binary operation data, and the binary operation data is encrypted to generate encrypted operation event text;
[0048] In step 203, the keyboard input speed, mouse click speed, and mouse movement speed per minute within the frequency evaluation period are calculated;
[0049] In step 204, the frequency of the user's nth operation is determined based on the keyboard input speed, mouse click speed, and mouse movement speed, where n is a natural number and its initial value is 1;
[0050] In step 205, the sampling interval for the nth time is determined based on the initial sampling interval, the initial operating frequency, and the operating frequency for the nth time.
[0051] In step 206, the sampling interval and operation frequency of the nth time are set as the initial sampling interval and initial operation frequency, respectively. Let n = n + 1, and return to step 202.
[0052] Preferably, the frequency of the user's nth operation is determined based on the keyboard input speed, mouse click speed, and mouse movement speed, wherein the formula for calculating the frequency of the nth operation is:
[0053] F n = log2(k+c+m+1)
[0054] In the formula, F n This represents the frequency of the user's nth operation, where k represents the keyboard input speed, c represents the mouse click speed, and m represents the mouse movement speed.
[0055] Preferably, the step of determining the sampling interval for the nth operation based on the initial sampling interval, the initial operating frequency, and the operating frequency for the nth operation is as follows:
[0056] t n =t0-k0*(F0-F n )
[0057] In the formula, t n Let t0 represent the sampling interval of the user in the nth time, and let F0 represent the initial sampling interval and the initial operating frequency, respectively, where 0 < k0 < 1.
[0058] Suppose that when a user accesses the business system in the access request, they need to enter a username, password, and click a verification code to log in. The local client's operations need to be captured and encrypted to obtain encrypted operation event text. This encrypted operation event text is then sent to the transmission server, which decrypts and verifies the encrypted operation data and performs a virus scan. Specifically, assuming the initial sampling interval t0 is 1 second, the initial operation frequency F0 is 6, the frequency evaluation period is 2 minutes, the current user types 100 characters per minute (keyboard input speed k = 100), clicks the mouse 120 times per minute (mouse click speed c = 120), and moves the mouse 115 centimeters per minute (mouse movement speed m = 115), then according to the operation frequency calculation formula, when k0 is 0.1, the current user's operation frequency F ≈ 8.4. The new data sampling interval calculated by the formula is 0.76, meaning that input operations will be collected within 0.76 seconds in the next frequency evaluation period. Then, the initial sampling interval for the next frequency evaluation period is set to t0 = 0.76, and the initial operation frequency is F0 = 8.4.
[0059] In this preferred embodiment, by setting keyboard and mouse hooks on the local end, operation data is acquired in real time and transmitted to a remote digital robot. The robot parses the data to obtain operation instructions for execution, achieving remote simulation of the operation and improving the real-time performance and user interaction experience of the remote operation. Furthermore, dynamically adjusting the data sampling interval according to the user's operation frequency allows for the rational allocation of computing resources; increasing the data sampling interval reduces system load when the operation frequency is low, while decreasing the data sampling interval ensures timely response to user operations when the operation frequency is high.
[0060] In step 104, the transmission server decrypts and verifies the encrypted operation event text and performs a virus scan to generate first secure data. After encrypting the data, it generates first encrypted data and transmits it to the remote terminal server.
[0061] Figure 3 This is a flowchart illustrating the generation of first security data according to a preferred embodiment of the present invention. Figure 3 As shown, the step of generating the first security data in this preferred embodiment begins at 301.
[0062] In step 301, the encrypted operation event text is decrypted, verified, and categorized to obtain several data groups, and an edge computing node is assigned to each data group. In this preferred embodiment, security software and several edge computing nodes are deployed on the transmission server before generating the first secure data.
[0063] In step 302, the data size and data quantity within the plurality of data groups are calculated, and a plurality of data blocks are obtained based on the data size and data quantity;
[0064] In step 303, the security software and the edge computing nodes are used to perform virus scanning and recording on the data groups and the data blocks within the data groups to obtain a virus scanning log.
[0065] In step 304, it is determined whether the virus scan log contains virus information;
[0066] In step 305, when the virus scan log contains virus information, a virus alarm signal is generated;
[0067] In step 306, when the virus scan log does not contain virus information, the virus scan log is stored in the transmission server, and first security data is generated based on the plurality of data groups and the plurality of data blocks within the plurality of data groups.
[0068] Preferably, obtaining several data blocks based on the data size and data quantity includes:
[0069] Determine whether the number of data in the data groups is greater than the number of edge computing nodes; if yes, divide the data groups into several data blocks.
[0070] When the number of data in the plurality of data groups is not greater than the number of edge computing nodes, determine whether the data size of the plurality of data groups is less than the data volume threshold; if yes, then keep the plurality of data groups; if no, then divide the plurality of data groups into the plurality of data blocks to obtain the plurality of data blocks of the plurality of data groups.
[0071] In this preferred embodiment, by deploying security software on the transmission server to scan and record the transmitted data for viruses, the security of data transmission is improved; by determining whether the number and size of the data group meet the preset threshold, the system flexibly chooses whether to further divide the data group into data blocks, dynamically adjusts the data processing method, and achieves the optimal processing effect; by using parallel processing technology and edge computing nodes to process the transmitted data in parallel, the processing efficiency of the transmitted data is ensured, and the overall performance and stability of the system are improved.
[0072] In step 105, the remote server parses the first encrypted data to obtain the operation instructions, executes the operation in the remote first browser according to the operation instructions, and encrypts the operation result before transmitting it back to the local client in real time via the transmission server.
[0073] Preferably, the remote server parses the first encrypted data to obtain operation instructions, including:
[0074] The first encrypted data is decrypted and verified to obtain the decrypted operation event text.
[0075] The decrypted operation event text is parsed to obtain binary operation data;
[0076] The binary operation data is matched with the operation instruction library to obtain the operation instruction for this operation. The operation instruction library consists of a preset correspondence between binary data and operation instructions.
[0077] The browser remote access method described in this preferred embodiment can automatically use the remote browser when the local client's operating environment is incompatible with the first browser, based on the judgment result of whether the local client's operating environment is compatible with the first browser. This ensures that business systems dependent on the first browser can be accessed normally in various environments. Furthermore, after receiving data transmitted from both the local and remote ends, the transmission server performs rigorous decryption verification and virus scanning to ensure data integrity and security. The transmission server groups or blocks several data groups according to their size and quantity, and uses security software and several edge computing nodes to perform virus scanning on the received data and the data blocks and / or data groups to be transmitted in a multi-node manner. This not only improves the speed of virus scanning but also ensures the real-time performance and efficiency of data transmission. Further, the local server adjusts the capture interval of user operations based on the user's operation frequency, encrypts the operations to generate encrypted operation event text, and transmits it to the remote server. The remote server then parses the text to obtain the operation instructions and executes the corresponding operations in the remote browser, realizing remote simulation of user operations and improving the real-time performance and convenience of user interaction.
[0078] Exemplary System
[0079] Figure 4 This is a schematic diagram of the structure of a browser remote access system according to a preferred embodiment of the present invention. Figure 4 As shown, the browser remote access system 400 of this preferred embodiment includes:
[0080] Local client 401 is used to send an access request to the local server, wherein the access request is for a business system that only supports the first browser;
[0081] The local server 402 is used to receive an access request sent by the local client, obtain the user agent string of the local client, determine the judgment result of the local client's running environment being compatible with the first browser based on the user agent string, and when the judgment result is that it is not compatible with the first browser, capture the operation data of the local client and encrypt it, generate encrypted operation event text and transmit it to the transmission server.
[0082] The transmission server 403 is used to decrypt and verify the encrypted operation event text and scan for viruses, generate first security data, encrypt it and generate first encrypted data to transmit to the remote end server, and receive the encrypted operation result transmitted by the remote end server and return it to the local client.
[0083] The remote end server 404 is used to parse the first encrypted data, obtain the operation instructions, execute the operation in the first browser on the remote end according to the operation instructions, and encrypt the operation result and transmit it to the transmission server in real time.
[0084] In this preferred embodiment, access requests to a business system that can only be accessed via a first browser can be initiated by setting up access initiation modules on several local clients. A remote access module set up on the local server, upon receiving an access request from a local client, obtains the user agent string from the local client, parses the user agent string to determine the judgment result of the first browser running on the local client, and automatically starts a digital robot. The digital robot wakes up the first browser on the remote server, loads the URL of the business system to be accessed, renders the page through the first browser on the remote server, and transmits the rendering result to the local client in real time. Furthermore, an input capture module is set up on the local server to capture and encrypt operation data from the local client, obtaining encrypted operation event text. An operation simulation module is set up on the remote server so that after the digital robot parses the first encrypted data and obtains the operation instructions, it executes the operation in the first browser according to the operation instructions and transmits the operation result back to the local client in real time.
[0085] Preferably, the local server 402 determines the compatibility of the local client's runtime environment with the first browser based on the user agent string, including:
[0086] The user agent string is parsed using a parsing tool to determine the version information and operating system data of the first browser;
[0087] The system determines whether the version information and operating system data of the first browser meet preset compatibility conditions. If the preset compatibility conditions are met, the determination result is determined to be compatible with the first browser; if the preset compatibility conditions are not met, the determination result is determined to be incompatible with the first browser.
[0088] Preferably, the local client 401 is further configured to execute the access request using a local browser when the determination result indicates compatibility with the first browser.
[0089] Preferably, the local server 402 captures and encrypts the operation data of the local client, generates encrypted operation event text, and transmits it to the transmission server, including:
[0090] In step 201, the initial sampling interval, initial operation frequency, and frequency evaluation period for capturing operation data are set, and keyboard hooks and mouse hooks are set on the local end through programming software. The operation data includes keyboard key presses, mouse clicks, mouse movements, mouse scrolling, and mouse coordinate positions.
[0091] In step 202, the keyboard hook and the mouse hook are used to capture the operation data of the local terminal within the initial sampling interval to obtain binary operation data, and the binary operation data is encrypted to generate encrypted operation event text;
[0092] In step 203, the keyboard input speed, mouse click speed, and mouse movement speed per minute within the frequency evaluation period are calculated;
[0093] In step 204, the frequency of the user's nth operation is determined based on the keyboard input speed, mouse click speed, and mouse movement speed, where n is a natural number and its initial value is 1;
[0094] In step 205, the sampling interval for the nth time is determined based on the initial sampling interval, the initial operating frequency, and the operating frequency for the nth time.
[0095] In step 206, the sampling interval and operation frequency of the nth time are set as the initial sampling interval and initial operation frequency, respectively. Let n = n + 1, and return to step 202.
[0096] Preferably, the local server 402 determines the frequency of the user's nth operation based on the keyboard input speed, mouse click speed, and mouse movement speed, wherein the formula for calculating the frequency of the nth operation is:
[0097] F n = log2(k+c+m+1)
[0098] In the formula, Fn represents the frequency of the user's nth operation, k represents the keyboard input speed, c represents the mouse click speed, and m represents the mouse movement speed.
[0099] Preferably, the local server 402 determines the sampling interval for the nth operation based on the initial sampling interval, the initial operating frequency, and the operating frequency for the nth operation, wherein the formula for calculating the sampling interval for the nth operation is:
[0100] t n =t0-k0*(F0-F n )
[0101] In the formula, tn represents the sampling interval of the user in the nth time, t0 and F0 represent the initial sampling interval and the initial operating frequency, respectively, and 0 < k0 < 1.
[0102] Preferably, the transmission server 403 decrypts and verifies the encrypted operation event text and performs a virus scan to generate first security data, including:
[0103] Security software and several edge computing nodes are deployed on the transmission server;
[0104] The encrypted operation event text is decrypted, verified, and classified to obtain several data groups, and an edge computing node is assigned to each data group;
[0105] Calculate the data size and number of data within the aforementioned data groups, and obtain several data blocks based on the data size and number of data;
[0106] The security software and the edge computing nodes are used to perform virus scanning and recording on the data groups and the data blocks within the data groups to obtain a virus scanning log.
[0107] Determine whether the virus scan log contains virus information; if yes, generate a virus alarm signal; if no, store the virus scan log on the transmission server, and generate first security data based on the plurality of data groups and the plurality of data blocks within the plurality of data groups.
[0108] Preferably, the transmission server 403 obtains several data blocks based on the data size and data quantity, including:
[0109] Determine whether the number of data in the data groups is greater than the number of edge computing nodes; if yes, divide the data groups into several data blocks.
[0110] When the number of data in the plurality of data groups is not greater than the number of edge computing nodes, determine whether the data size of the plurality of data groups is less than the data volume threshold; if yes, then keep the plurality of data groups; if no, then divide the plurality of data groups into the plurality of data blocks to obtain the plurality of data blocks of the plurality of data groups.
[0111] Preferably, the remote server 404 parses the first encrypted data to obtain operation instructions, including:
[0112] The first encrypted data is decrypted and verified to obtain the decrypted operation event text.
[0113] The decrypted operation event text is parsed to obtain binary operation data;
[0114] The binary operation data is matched with the operation instruction library to obtain the operation instruction for this operation. The operation instruction library consists of a preset correspondence between binary data and operation instructions.
[0115] The browser remote access system described in this preferred embodiment has the same steps for performing remote browser access as the browser remote access method described above, and achieves the same technical effect, so it will not be described again here.
[0116] Exemplary electronic devices
[0117] Figure 5 This is a schematic diagram of an electronic device according to a preferred embodiment of the present invention. The electronic device may be either or both of a first device and a second device, or a standalone device independent of them. The standalone device may communicate with the first device and the second device to receive the collected input signals from them. Figure 5 A block diagram of an electronic device according to an embodiment of the present disclosure is shown. Figure 5 As shown, the electronic device includes one or more processors 501 and memory 502.
[0118] The processor 501 may be a central processing unit (CPU) or other form of processing unit with data processing and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.
[0119] The memory 502 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 501 may execute the program instructions to implement the energy consumption anomaly diagnosis method based on enterprise energy consumption space of the various embodiments disclosed above, and / or other desired functions. In one example, the electronic device may also include an input device 503 and an output device 504, these components being interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0120] In addition, the input device 503 may also include, for example, a keyboard, a mouse, etc.
[0121] The output device 504 can output various information to the outside. The output device 504 may include, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.
[0122] Of course, for the sake of simplicity, Figure 5 Only some of the components of the electronic device relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device may include any other suitable components depending on the specific application.
[0123] Exemplary computer program products and computer-readable storage media
[0124] In addition to the methods and apparatus described above, embodiments of this disclosure may also be computer program products comprising computer program instructions that, when executed by a processor, cause the processor to perform the steps of the browser remote access methods according to various embodiments of this disclosure as described in the "Exemplary Methods" section of this specification.
[0125] The computer program product can be written in any combination of one or more programming languages to perform the operations of the embodiments of this disclosure. The programming languages include object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0126] Furthermore, embodiments of this disclosure may also be computer-readable storage media storing computer program instructions that, when executed by a processor, cause the processor to perform the steps in the browser remote access methods according to various embodiments of this disclosure as described in the "Exemplary Methods" section above.
[0127] The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may, for example, include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0128] The basic principles of this disclosure have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0129] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For system embodiments, since they largely correspond to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0130] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0131] The apparatus and methods of this disclosure may be implemented in many ways. For example, they may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order of steps for the methods is for illustrative purposes only, and the steps of the methods of this disclosure are not limited to the order specifically described above unless otherwise specifically stated. Furthermore, in some embodiments, this disclosure may also be implemented as a program recorded on a recording medium, the program including machine-readable instructions for implementing the methods according to this disclosure. Thus, this disclosure also covers recording media storing programs for performing the methods according to this disclosure.
[0132] It should also be noted that in the apparatus, devices, and methods of this disclosure, the components or steps are decomposable and / or recombinable. Such decomposition and / or recombination should be considered equivalent to the present disclosure. The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.
[0133] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
Claims
1. A browser-based remote access method, characterized in that, The method includes: After receiving an access request from a local client, the local server obtains the user agent string of the local client, wherein the access request is for a business system that only supports the first browser; The local client runtime environment is determined to be compatible with the first browser based on the user agent string, wherein the determination result includes compatibility with the first browser and incompatibility with the first browser; When the judgment result is that it is incompatible with the first browser, the capture interval of the operation on the local end is adjusted according to the user's operation frequency in order to capture the operation data of the local client and encrypt it, generate encrypted operation event text and transmit it to the transmission server. The transmission server decrypts and verifies the encrypted operation event text and performs a virus scan to generate first secure data. This first secure data is then encrypted and transmitted to a remote server. The process of the transmission server decrypting and verifying the encrypted operation event text and performing a virus scan to generate the first secure data includes: Security software and several edge computing nodes are deployed on the transmission server; The encrypted operation event text is decrypted, verified, and classified to obtain several data groups, and an edge computing node is assigned to each data group; Calculate the data size and number of data within the aforementioned data groups, and obtain several data blocks based on the data size and number of data, including: Determine whether the number of data in the data groups is greater than the number of edge computing nodes; if yes, divide the data groups into several data blocks. When the number of data in the data groups is not greater than the number of edge computing nodes, determine whether the data size of the data groups is less than the data size threshold; if yes, keep the data groups; if no, divide the data groups into several data blocks to obtain several data blocks of the data groups. The security software and the edge computing nodes are used to perform virus scanning and recording on the data groups and the data blocks within the data groups to obtain a virus scanning log. Determine whether the virus scan log contains virus information; if yes, generate a virus alarm signal; if no, store the virus scan log on the transmission server, and generate first security data based on the plurality of data groups and the plurality of data blocks within the plurality of data groups. The remote server parses the first encrypted data to obtain operation instructions, executes the operation in the first browser on the remote end according to the operation instructions, and transmits the encrypted operation result to the transmission server; The transmission server decrypts and verifies the encrypted operation results, performs virus scanning, and then transmits them back to the local client in real time.
2. The method according to claim 1, characterized in that, The determination of the compatibility of the local client runtime environment with the first browser based on the user agent string includes: The user agent string is parsed using a parsing tool to determine the version information and operating system data of the first browser; The system determines whether the version information and operating system data of the first browser meet preset compatibility conditions. If the preset compatibility conditions are met, the determination result is determined to be compatible with the first browser; if the preset compatibility conditions are not met, the determination result is determined to be incompatible with the first browser.
3. The method according to claim 1, characterized in that, After determining the compatibility of the local client runtime environment with the first browser based on the user agent string, the process further includes: If the determination result indicates compatibility with the first browser, the access request is executed using the local browser.
4. The method according to claim 1, characterized in that, The process of capturing and encrypting local client operation data, generating encrypted operation event text, and transmitting it to the transmission server includes: In step 201, the initial sampling interval, initial operation frequency, and frequency evaluation period for capturing operation data are set, and keyboard hooks and mouse hooks are set on the local end through programming software. The operation data includes keyboard key presses, mouse clicks, mouse movements, mouse scrolling, and mouse coordinate positions. In step 202, the keyboard hook and the mouse hook are used to capture the operation data of the local terminal within the initial sampling interval to obtain binary operation data, and the binary operation data is encrypted to generate encrypted operation event text; In step 203, the keyboard input speed, mouse click speed, and mouse movement speed per minute within the frequency evaluation period are calculated; In step 204, the frequency of the user's nth operation is determined based on the keyboard input speed, mouse click speed, and mouse movement speed, where n is a natural number and its initial value is 1; In step 205, the sampling interval for the nth time is determined based on the initial sampling interval, the initial operating frequency, and the operating frequency for the nth time. In step 206, the sampling interval and operation frequency of the nth time are set as the initial sampling interval and initial operation frequency, respectively. Let n = n + 1, and return to step 202.
5. The method according to claim 1, characterized in that, The remote server parses the first encrypted data to obtain operation instructions, including: The first encrypted data is decrypted and verified to obtain the decrypted operation event text. The decrypted operation event text is parsed to obtain binary operation data; The binary operation data is matched with the operation instruction library to obtain the operation instruction for this operation. The operation instruction library consists of a preset correspondence between binary data and operation instructions.
6. A browser-based remote access system, characterized in that, The system includes: A local client is used to send access requests to a local server, wherein the access requests are for business systems that only support the first browser; The local server receives access requests from local clients, obtains the user agent string of the local client, and determines the compatibility of the local client's runtime environment with the first browser based on the user agent string. When the judgment result is that it is incompatible with the first browser, the capture interval of the operation on the local end is adjusted according to the user's operation frequency in order to capture the operation data of the local client and encrypt it, generate encrypted operation event text and transmit it to the transmission server. A transmission server is configured to decrypt and verify the encrypted operation event text and perform virus scanning to generate first secure data, encrypt the data, and transmit the first encrypted data to a remote server. It also receives the encrypted operation result transmitted from the remote server, decrypts and verifies the result, performs virus scanning, and returns it to the local client. The transmission server's decryption and verification of the encrypted operation event text to generate the first secure data includes: Security software and several edge computing nodes are deployed on the transmission server; The encrypted operation event text is decrypted, verified, and classified to obtain several data groups, and an edge computing node is assigned to each data group; Calculate the data size and number of data within the aforementioned data groups, and obtain several data blocks based on the data size and number of data, including: Determine whether the number of data in the data groups is greater than the number of edge computing nodes; if yes, divide the data groups into several data blocks. When the number of data in the data groups is not greater than the number of edge computing nodes, determine whether the data size of the data groups is less than the data size threshold; if yes, keep the data groups; if no, divide the data groups into several data blocks to obtain several data blocks of the data groups. The security software and the edge computing nodes are used to perform virus scanning and recording on the data groups and the data blocks within the data groups to obtain a virus scanning log. Determine whether the virus scan log contains virus information; if yes, generate a virus alarm signal; if no, store the virus scan log on the transmission server, and generate first security data based on the plurality of data groups and the plurality of data blocks within the plurality of data groups. The remote terminal server is used to parse the first encrypted data, obtain operation instructions, execute the operation in the first browser on the remote terminal according to the operation instructions, and encrypt the operation result and transmit it to the transmission server in real time.
7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program for executing the method described in any one of claims 1 to 5.
8. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the method described in any one of claims 1 to 5.