Data processing method, computing device, storage medium and program product

By employing a long-lived connection in the secure client and utilizing a token information update mechanism, the issues of connection stability and processing speed between the secure client and the remote server are resolved, achieving efficient data processing.

CN122069033APending Publication Date: 2026-05-19ALIBABA CLOUD COMPUTING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ALIBABA CLOUD COMPUTING CO LTD
Filing Date
2024-11-18
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In existing technologies, the connection method between the security client and the remote server suffers from network latency, resulting in slow processing speed. At the same time, the stability of long connections is insufficient, causing security functions to fail to function properly.

Method used

A long-lived connection is used, and the token information is updated through the target execution unit to ensure connection stability. The target token information is used to establish and maintain a stable long-lived connection with the target server to ensure the success rate of request verification.

Benefits of technology

It reduced network latency, improved processing speed, ensured connection stability, and guaranteed the normal operation of security functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122069033A_ABST
    Figure CN122069033A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method, computing equipment, a storage medium and a program product. Wherein a target plug-in deployed by the security client runs at least one execution unit, and the target execution unit is utilized to respond to a calling instruction of the security client, and to-be-processed data and first token information are determined; updating target token information correspondingly stored by a target execution unit based on the first token information; then, based on target token information corresponding to the target execution unit, a processing request of the to-be-processed data is sent to a target server side through long connection established with the target server side; the processing request is used for triggering the target server to execute a processing operation on the to-be-processed data on the basis of the first token information under the condition that the target token information is successfully verified. According to the technical scheme provided by the embodiment of the invention, the network delay is reduced through the long connection, the processing speed is ensured, and the connection stability is ensured through the updating operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data security technology, and in particular to a data processing method, computing device, storage medium and program product. Background Technology

[0002] To protect computer and network security, prevent data leaks and malicious attacks, security software platforms that provide security functions such as data encryption, firewalls, virus scanning, and authentication have emerged, such as office security platforms used to protect information assets in corporate office environments.

[0003] These types of security software platforms typically allow the installation of corresponding security clients on terminal devices requiring security protection. These clients provide various security functions to protect the devices and their data. The security client can integrate multiple plugins to provide additional security features, such as plugins that inspect files on the device to determine their security. Some plugins often need to interact with a remote server, relying on the server's inspection capabilities; therefore, a connection needs to be established between the plugin and the remote server.

[0004] In the traditional approach, plugins and servers use short connections. Each time they interact, the plugin needs to establish a new connection with the server. However, establishing a short connection each time will cause a large network latency, thereby reducing the processing speed. The inventors found that although using a long connection directly can solve the problem of processing speed caused by network latency, it will have the problem of instability of long connections. Summary of the Invention

[0005] This application provides a data processing method and computing device to solve the problem of connection stability while ensuring processing speed in the prior art.

[0006] In a first aspect, this application provides a data processing method applied to a target plugin deployed in a security client; the target plugin runs at least one execution unit, and the method includes:

[0007] The target execution unit responds to the call command from the security client to determine the data to be processed and the first token information; the first token information is the latest token information obtained by the client.

[0008] Determine the target token information stored corresponding to the target execution unit;

[0009] Update the target token information based on the first token information;

[0010] Based on the target token information corresponding to the target execution unit, a processing request for the data to be processed is sent to the target server through a long connection established with the target server; wherein, the processing request is used to trigger the target server to perform processing operations on the data to be processed if the target token information is successfully verified.

[0011] Secondly, this application provides a data processing method applied to a target plugin deployed in a security client; the target plugin runs at least one execution unit, and the method includes:

[0012] The target execution unit responds to the call command from the security client to determine the data to be processed and the first location information;

[0013] Compare the first location information with the second location information saved by the target plugin;

[0014] If the first location information differs from the second location information, the second location information is updated based on the first location information;

[0015] A long connection is established with the target server corresponding to the first location information, so as to send a processing request for the data to be processed to the target server through the long connection; wherein, the processing request is used to trigger the target server to perform a processing operation on the data to be processed.

[0016] Thirdly, this application provides a computing device, including a processing component and a storage component;

[0017] The storage component stores one or more computer instructions; the one or more computer instructions are to be invoked and executed by the processing component to implement the data processing method as described in the first aspect above or the data processing method as described in the second aspect above.

[0018] Fourthly, this application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processing component, implements the data processing method described in the first aspect or the data processing method described in the second aspect.

[0019] Fifthly, this application provides a computer program product, including a computer program / instruction, which, when executed by a processing component, implements the data processing method described in the first aspect or the data processing method described in the second aspect.

[0020] In this embodiment, the target plugin can run at least one execution unit. For a call command sent by the client, the target execution unit can be selected to respond, determining the data to be processed and the first token information included therein based on the call command. The target execution unit can use the first token information to update the target token information stored by the target execution unit. Based on the call command, the target execution unit sends a processing request to the target server with which a long-term connection has been established, based on the stored target token information. The target token information in the target execution unit is synchronously updated according to the first token information indicated by the security client, thereby ensuring the success rate of target token information verification and guaranteeing connection stability. This embodiment reduces network latency and ensures processing speed through a long-term connection, and guarantees connection stability through the token information update operation.

[0021] These or other aspects of this application will become more apparent from the description of the following embodiments. Attached Figure Description

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

[0023] Figure 1 A flowchart of one embodiment of a data processing method provided in this application is shown;

[0024] Figure 2 A flowchart of yet another embodiment of a data processing method provided in this application is shown;

[0025] Figure 3 This application illustrates a system architecture diagram applicable to one of its embodiments;

[0026] Figure 4 A flowchart of yet another embodiment of a data processing method provided in this application is shown;

[0027] Figure 5 A flowchart of yet another embodiment of a data processing method provided in this application is shown;

[0028] Figure 6 This invention provides a schematic diagram of the structure of one embodiment of a data processing apparatus.

[0029] Figure 7 This illustration shows a structural schematic diagram of yet another embodiment of a data processing apparatus provided in this application;

[0030] Figure 8 A schematic diagram of one embodiment of a computing device provided in this application is shown. Detailed Implementation

[0031] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0032] In some of the processes described in the specification, claims, and accompanying drawings of this application, multiple operations appearing in a specific order are included. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not themselves represent any execution order. Furthermore, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first," "second," etc., in this document are used to distinguish different messages, devices, modules, etc., and do not represent a chronological order, nor do they limit "first" and "second" to different types.

[0033] The technical solutions of this application embodiment can be applied to security software platforms, which typically include security clients and security servers. The security client can integrate various security processing engines, and these engines can integrate various plugins. For example, an antivirus processing engine can integrate plugins that implement different antivirus types, such as plugins for file detection, backdoor detection, and script detection. Some plugins integrated in the security client can achieve their corresponding security functions by running locally without connecting to a remote server, while others, such as file detection plugins, require interaction with the corresponding remote server to achieve their security functions. As described in the background section, these plugins need to establish a connection with the corresponding remote server.

[0034] In the process of developing this application, the inventors discovered that, to ensure security, remote servers typically need to authenticate plugins. For example, the security server of an office security platform and the remote server corresponding to a plugin can obtain continuously updated token information from a verification center. The security server can then send the token information to the security client. When the security client calls the plugin to perform corresponding security processing operations, it can include the token information, allowing the remote server to perform verification based on the token information. However, when the plugin and the remote server use a short connection, the plugin needs to re-establish a connection before sending a processing request, thus resubmitting the token information indicated by the security client to ensure successful verification based on the token information. If a long connection is used, the long connection stores the token information, and each processing request sent via the long connection is based on the token information stored in the long connection. However, the token information stored in the long connection may have expired, leading to authentication failure. Long connections are unstable and cannot achieve the security function.

[0035] Furthermore, the inventors discovered that in practical applications, multiple servers may be deployed in different regions. If a long connection method is used, the plugin maintains a long connection with the remote server in region A. However, if the security client temporarily switches from region A to region B, the long connection may become unavailable due to authentication failure, thus preventing the security function from being implemented.

[0036] Based on this discovery, in order to ensure connection stability under processing speed conditions, the inventors have conducted a series of studies and proposed the technical solution of the embodiments of this application.

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

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

[0039] It should be noted that the technical solutions of this application embodiment are applicable to the network virtual environment, and the described users generally refer to "virtual users". Real users can register user accounts on the server through registration to obtain user identity in the network environment.

[0040] The implementation details of the technical solutions in the embodiments of this application are described in detail below.

[0041] Figure 1 This is a flowchart illustrating one embodiment of a data processing method provided in this application. The technical solution of this embodiment can be executed by a target plugin deployed in a secure client. The target plugin can refer to any plugin deployed in the client that interacts with a remote server to implement security functions. In practical applications, multiple data processing operations may be involved. To improve processing efficiency, the target plugin can run at least one execution unit, which in practical applications can be a thread or a process, etc.

[0042] The remote server referred to in this application embodiment can be a remote server corresponding to the target plugin and connected to the target plugin via a network. For ease of description, the remote server that establishes a long connection with the target plugin is described as the target server. Depending on the processing type, the target server may include different implementation forms, which will be described in detail in the corresponding embodiments below. When at least one execution unit runs in the target plugin, each execution unit can establish a long connection with the target server.

[0043] This method may include the following steps:

[0044] 101: Utilize the target execution unit to respond to the security client's call command and determine the data to be processed and the first token information.

[0045] The client's invocation command can be generated based on the user's processing instructions for the data to be processed. The processing instruction can include a processing type, thereby determining the target plugin corresponding to the processing type and initiating the invocation command to the target plugin. This processing type could be, for example, a file detection type, a script detection type, or a backdoor detection type.

[0046] Taking file detection as an example, in practical applications, the security client can be installed on the local device. Users can trigger the detection of corresponding files on the local device through the user interface provided by the security client to determine whether the files are safe, etc. The security client can call the target plugin to perform the corresponding detection operation. The processing instructions triggered by the user can also include file information, such as file path information or file storage location, which can index the corresponding information of the file to be detected. Therefore, the calling instructions issued by the security client can include file information.

[0047] In addition, the security server can obtain the latest first token information from the token provider, such as a verification center or trusted institution, and send it to the security client. The security client's call instructions can include the first token information.

[0048] The token provider can update the token information in real time or periodically. The security server and the target server corresponding to the target plugin can obtain the latest token information from the token provider. The first token information is also the latest token information obtained by the client.

[0049] The call instruction can include data information, such as storage path or storage location, so that the corresponding data to be processed can be determined based on the data information.

[0050] In this embodiment, if the target plugin runs a single execution unit, that execution unit can serve as the target execution unit. If the target plugin runs multiple execution units, it can select any currently idle or load-capable execution unit as the target execution unit to respond to the call command triggered by the security client, in order to determine the first token information and the corresponding data to be processed in the call command. The technical solution of this embodiment can be specifically executed by this target execution unit.

[0051] 102: Determine the target token information stored corresponding to the target execution unit.

[0052] 103: Update the target token information based on the first token information.

[0053] The update operation makes the target token information the same as the first token information, which is the latest token information.

[0054] 104: Based on the target token information corresponding to the target execution unit, send a processing request for the data to be processed to the target server through a long connection established with the target server.

[0055] The processing request can be used to trigger the target server to perform processing operations on the data to be processed if the target token information is successfully verified.

[0056] In this implementation, after each execution unit establishes a long connection with the target server, it maintains this connection. Each execution unit may have a corresponding long connection object to store target token information. Each execution unit sends a processing request to the corresponding target server based on the target token information in the long connection object. In this embodiment, the target token information stored by the target execution unit can be updated according to the first token information in the calling instruction to ensure the timeliness of the target token information. The first token information is the latest token information obtained by the security server. Since the security server and the target server can obtain the latest token information synchronously, updating the target token information to the first token information improves the verification success rate of processing requests initiated based on the target token information, ultimately realizing the processing operation of the data to be processed and ensuring the stability and availability of the long connection.

[0057] If the target execution unit does not establish a long connection with the target server, the target token information it saves can be empty. The first token information is directly used as the target token information. Based on the target token information, a long connection is first established with the template server, and then a processing request for the data to be processed is sent through the long connection.

[0058] In this application, the target server can determine successful verification if the first token information matches the target token information. In a practical application, the token information may include a verification identifier (ID), a verification password (Secret), and a security token (token). The target plugin can generate a first verification value based on the verification identifier, verification password, and security token in the target token information, for example, using a hash algorithm. The processing request may include this first verification value and the verification identifier. The target server can look up the corresponding first token information based on the verification identifier, and generate second verification data based on the verification identifier, verification password, and security token in the first token information using the same algorithm. If the first verification value and the second verification value are the same, the verification is considered successful; otherwise, the verification fails. It should be noted that this is merely an example illustrating possible verification methods based on token information, and this application is not limited to this.

[0059] Optionally, the first token information can be compared with the target token information stored in the target execution unit. If the first token information and the target token information are different, the operation of step 103 can be performed. Otherwise, the operation of step 104 can be performed directly.

[0060] As described above, token information is a triple, which can include three elements: verification identifier, verification password, and security token. If any element of two token information is different, the two token information can be considered different. Typically, the verification identifier may not change. To improve comparison efficiency, we can first compare whether the security tokens are different. If the security tokens are the same, then we compare the verification passwords. If the verification passwords are the same, then we can compare whether the verification identifiers are the same, and so on.

[0061] In this embodiment, the target token information in the target execution unit is synchronously updated according to the first token information indicated by the security client, thereby ensuring the verification success rate of the target token information and guaranteeing connection stability. This embodiment reduces network latency and ensures processing speed through a long connection method, and guarantees connection stability through the token information update operation.

[0062] In one possible implementation, the target server may include a validation server for validating the data to be processed. The processing request may include validation information for the data to be processed, and the validation server can perform data validation based on this information.

[0063] For example, the verification information can be the verification value of the data to be processed, which is calculated by hash algorithms such as MD5, CRC32, SHA-1, etc. The verification server can verify whether the data to be processed is safe based on the verification value. For example, the verification server can be configured with a corresponding security database. By checking whether the verification value exists in the security database, if it exists, the data to be processed can be considered to have been successfully verified and is normal data; otherwise, the data to be processed can be considered to have failed verification and may be virus data, etc.

[0064] The verification server can return the verification result to the target plugin, which in turn feeds it back to the security client. The security client can then output the verification result, for example, by displaying it in the user interface.

[0065] The aforementioned process of sending a processing request for the data to be processed to the target server through a long-lived connection established with the target server, based on the target token information corresponding to the target execution unit, can include: sending a verification request for the data to be processed to the verification server through a long-lived connection established with the verification server, based on the target token information corresponding to the target execution unit. The verification request is used to trigger the verification server to perform data verification operations on the data to be processed if the target token information is successfully verified. The verification request may include the verification value of the data to be processed.

[0066] The method may also include: using the target plugin to obtain the verification result returned by the verification server; and displaying the verification result in the user interface.

[0067] In another possible implementation, the target server may include a storage service for storing the data to be processed. After storing the data, the storage service can send storage notifications to the target plugin.

[0068] The processing request can include specifying a storage address, instructing the storage service provider to store the data to be processed at that address. Alternatively, the processing request may not specify a storage address; in this case, the storage service provider can return the corresponding storage address to the target plugin.

[0069] The aforementioned processing request, based on the target token information corresponding to the target execution unit, sent to the target server via a long-lived connection, can include: sending a storage request for the data to be processed to the storage service provider via a long-lived connection, based on the target token information corresponding to the target execution unit. The storage request triggers the storage service provider to store the data to be processed if the target token information is successfully verified.

[0070] The method may also include: using the target plugin to obtain storage notifications fed back by the storage service client.

[0071] In another possible implementation, when performing data validation on the data to be processed, besides the target plugin directly sending the validation value to the validation server for data validation, the target plugin can also upload the data to be processed to the storage service server. The validation server then downloads the data from the storage service server and performs data validation on it. Therefore, the target server can include both a validation server and a storage service server.

[0072] The aforementioned processing request, based on the target token information corresponding to the target execution unit, which sends the data to be processed to the target server through a long connection established with the target server, may include:

[0073] Based on the target token information corresponding to the target execution unit, a storage request for the data to be processed is sent to the storage service provider through a long connection established with the storage service provider. The storage request is used to trigger the storage service provider to store the data to be processed if the target token information is successfully verified.

[0074] In response to the storage notification from the storage service provider, and based on the target token information corresponding to the target execution unit, a first verification request for the data to be processed is sent to the verification service via a long-lived connection. This first verification request triggers the verification service to download the data to be processed from the storage service provider and perform data verification if the target token information is successfully verified. The data verification operation performed on the data to be processed may include reading the data and determining its security based on the data itself.

[0075] The method may also include:

[0076] The verification result of the data to be processed is obtained through a long-lived connection; the verification result is then triggered by the secure client. For example, the verification result can be displayed in the user interface.

[0077] In one alternative approach, before the storage request is sent, the method may further include:

[0078] Based on the target token information corresponding to the target execution unit, a second verification request for the data to be processed is sent to the storage service through a long connection established with the verification server; the second verification request is used to trigger the verification server to return the storage address if the target token information is successfully verified.

[0079] The above-mentioned storage request for data to be processed, which is sent to the storage service provider through a long connection established with the storage service provider based on the target token information corresponding to the target execution unit, can be: sending a storage request for data to be processed to the storage service provider through a long connection established with the storage service provider based on the target token information corresponding to the target execution unit and the storage address; the storage request can specifically instruct the storage service provider to store the data to be processed to that storage address.

[0080] In another alternative approach, the storage notification may include the storage address of the data to be processed, as fed back by the storage service client; thus, the first verification request may include this storage address, which the verification server uses to download the data to be processed according to the storage address indicated by the first verification request.

[0081] In a practical application, the data to be processed mentioned above can specifically refer to the file to be detected. The target plugin is also known as the file detection plugin.

[0082] In some embodiments, after obtaining the verification result of the data to be processed based on the long connection, if the verification result is a failure, the security client can be triggered to re-obtain the first token information from the security server and return to the step of determining the target token information corresponding to at least one execution unit to continue execution. Optionally, if the number of re-acquisitions reaches a specified number, the verification result can be output again to prompt the user that the data to be processed has failed to be verified, etc. By re-verifying multiple times, the failure of normal data verification due to untimely token acquisition can be resolved, and verification errors can be avoided.

[0083] As described above, the first token information can be compared with the target token information stored in the target execution unit. If the first token information and the target token information are different, the target token information is updated based on the first token information. At this time, the first token information is also used as the new target token information.

[0084] Furthermore, when at least one execution unit includes multiple execution units, since each execution unit stores target token information, the target token information stored by each execution unit can be updated using the first token information.

[0085] In some embodiments, in order to improve update efficiency, especially when multiple execution units are running in the target plugin, the above-mentioned determination of the target token information corresponding to the target execution unit may include: determining the target token information corresponding to the multiple execution units respectively.

[0086] The above-mentioned updating of the target token information based on the first token information may include:

[0087] The first token information is compared with the second token information saved by the target plugin. If the first token information and the second token information are different, the second token information is updated using the first token information, and the target token information saved by the multiple execution units is updated using the second token information. Since the second token information is the same as the first token information after updating the second token information using the first token information, the target token information is updated using the second token information to make the target token information the same as the first token information and the second token information. Of course, the target token information can also be updated directly using the first token information.

[0088] If the comparison result shows that the first token information and the second token information are the same, then the operation of sending the processing request for the data to be processed to the target server through the long connection established with the target server can be directly executed based on the target token information corresponding to the target execution unit.

[0089] By comparing the token with the second token information stored corresponding to the target plugin, it is possible to reduce resource consumption and improve update efficiency by eliminating the need to compare the token with the target token information stored for each execution unit one by one.

[0090] The second token information can be stored in the configuration object of the target plugin.

[0091] The long-connection objects and configuration objects described in this article refer to the basic units in object-oriented programming, which can be used to encapsulate data and the behaviors associated with that data.

[0092] In some embodiments, when multiple execution units run in the target plugin, each execution unit may respond to different calling instructions assigned by the target plugin, and therefore may perform comparison and update operations. To avoid data inconsistency, the above comparison of the first token information with the second token information stored in the target plugin may include:

[0093] Obtain the first lock resource containing the second token information saved by the target plugin; compare the first token information with the second token information;

[0094] The method may also include:

[0095] Release the first lock resource if the first token information is the same as the second token information or in response to an update operation of the second token information.

[0096] Since the second token information may be accessed by multiple execution units, to avoid data inconsistency caused by access conflicts, the target execution unit needs to first acquire the first lock resource, lock the second token information, and then perform the comparison and update operations. If the first lock resource is held by other execution units, they can wait for the first lock resource to be released before acquiring it. The target plugin can release the first lock resource after comparing the first and second token information and finding that they are the same, or after updating the second token information based on the first token information and finding that they are different.

[0097] In practical applications, the second token information is stored in the configuration object, and the first lock resource can be specifically associated with the configuration object. This can be done by obtaining the first lock resource of the configuration object and then comparing the first token information with the second token information stored in the configuration object.

[0098] In some embodiments, the first lock resource for obtaining the second token information stored by the target plugin may include:

[0099] Compare the first token information with the second token information saved by the target plugin; if the first token information and the second token information are different, obtain the first lock resource of the second token information saved by the target plugin.

[0100] The method may further include: if the first token information and the second token information are the same, sending a processing request for the data to be processed to the target server based on the target token information corresponding to the target execution unit.

[0101] That is, the first token information can be compared with the second token information first. If they are the same, the operation of step 104 above can be executed directly. If they are different, the first lock resource can be acquired again. Since the first lock resource may be held by other execution units and the second token information has been updated, after acquiring the first lock resource, the first token information and the second token information can be compared again to avoid wasting resources due to invalid update operations.

[0102] As described above, the target execution unit also updates the target token information stored for each execution unit. To avoid data inconsistency and simplify the update operation, in some embodiments, the above-mentioned target token information update operation may include:

[0103] For any execution unit, acquire the second lock resource corresponding to the target token information stored by the execution unit; update the target token information using the second token information; and release the second lock resource in response to the update operation of the target token information. Alternatively, the target token information can be updated directly using the first token information, ultimately achieving the same target token information as both the second and first token information.

[0104] The second lock resource ensures that an execution unit is only executed one update operation at any given time. If the second lock resource is held, the target execution unit may wait for the second lock resource to be released before acquiring it.

[0105] Once the target execution unit updates the target token information, it can release the second lock resource.

[0106] In actual operation, each execution unit can create a corresponding scanning component. A scanning component can be a tool used to detect, analyze, or scan specific data structures, files, network traffic, etc., and it can be implemented as a specific function. The scanning components corresponding to multiple execution units can form a component list.

[0107] In some embodiments, updating the target token information stored by the multiple execution units using the second token information may include:

[0108] Obtain the third lock resource corresponding to the component list; traverse the component list to obtain the second lock resource of the scanning component for any execution unit; use the scanning component to obtain the target token information stored by the execution unit; update the target token information using the second token information.

[0109] The method may also include:

[0110] In response to the update operation of the target token information, the second lock resource is released; after the traversal of the detection component list ends, the third lock resource is released.

[0111] Since it is necessary to update the target token information stored for each execution unit, and each execution unit's scanning component maintains a long connection between the target plugin and the target server, and stores the target token information accordingly, the second lock resource can be specifically associated with the scanning component. Therefore, by traversing the component list to select the unselected scanning component and obtaining its second lock resource, the scanning component can be used to retrieve the corresponding stored target token information, and the target token information can be updated based on the first token information.

[0112] By setting a third lock resource for the component list, access conflicts to the component list can be avoided, thus preventing data inconsistency issues.

[0113] After the component list traversal is complete, that is, after the execution unit corresponding to each scanned component in the component list has updated the target token information, the third lock resource can be released.

[0114] As described above, the first token information can also be compared with the target token information stored for each execution unit. However, to avoid access conflicts, in some embodiments where the target plugin runs multiple execution units, the target token information update operation may include:

[0115] For any given execution unit, acquire the second lock resource containing the target token information stored by that execution unit;

[0116] Compare the first token information with the target token information;

[0117] If the first token information and the target token information are different, the target token information is updated using the first token information;

[0118] The method also includes:

[0119] Release the second lock resource if the first token information is the same as the target token information, or in response to an update operation of the target token information.

[0120] In some embodiments, where multiple execution units each create corresponding scanning components, the second lock resource for obtaining the target token information stored by the execution unit for any given execution unit may include:

[0121] Obtain the third lock resource corresponding to the component list; traverse the component list to obtain the second lock resource of the scanning component for any execution unit; use the target token information stored in the scanning component to obtain the execution unit corresponding to the execution unit;

[0122] The method may also include:

[0123] Once the list of detected components has been traversed, the third lock resource is released.

[0124] Since the security client is installed on the user's device, the user may use the security client on the user's device in different regions. Therefore, servers distributed in different regions can be set up. The target plugin can establish a long connection with the target server that matches the location of the security client. However, since the user may move the user's device to different regions, if the user's device is located in region A, the target plugin will still maintain a long connection with the target server in region B, which will greatly affect the processing efficiency and may lead to processing failure, thereby affecting the stability of the long connection. Therefore, in one or more of the above embodiments, the method may further include:

[0125] In response to the invocation command, determine the first location information of the secure client;

[0126] Compare the first location information with the second location information saved by the target plugin; if the first location information and the second location information are different, update the second location information based on the first location information; establish a long connection to the target server corresponding to the first location information.

[0127] Optionally, while establishing a long connection with the target server corresponding to the first location information, the connection with the target server corresponding to the originally saved second location information can be disconnected.

[0128] In practical applications, the update operation for the second location information and the establishment operation of the long connection to the target server corresponding to the first location information can be performed simultaneously or sequentially. The update operation can be performed before the establishment operation, or the establishment operation can be performed first and then the update operation. This application does not limit this.

[0129] If the first location information is the same as the second location information, then based on the target token information corresponding to the target execution unit, a processing request for the data to be processed can be sent to the target server through a long connection established with the target server corresponding to the first location information.

[0130] This application embodiment ensures connection stability through the update operation of the second location information.

[0131] The first location information can be obtained by the security client, for example, by calling the location system of the electronic device where the security client is located.

[0132] Furthermore, in some embodiments, to ensure data consistency and avoid access conflicts, the comparison of the first location information with the second location information saved by the target plugin may include:

[0133] Obtain the first lock resource containing the second location information saved by the target plugin; compare the first location information with the second location information;

[0134] The method may further include: releasing the first lock resource if the first location information is the same as the second location information or in response to an update operation of the second location information.

[0135] In practical applications, the second token information and the second location information can be stored in the configuration object. The first lock resource can be specifically associated with the configuration object. By obtaining the first lock resource of the configuration object, the comparison and update operations of the second location information and / or the second token information can be realized. The first lock resource should be released only after the update operations of the second location information and the second token information (including no update under the same conditions or update under different conditions) are completed.

[0136] Of course, the second location information and the second token information can also each have their own associated first lock resources.

[0137] In some embodiments, the first lock resource for obtaining the second location information saved by the target plugin may include: comparing the first location information with the second location information saved by the target plugin; if the first location information and the second location information are different, obtaining the first lock resource for the second location information saved by the target plugin; if the first location information and the second location information are the same, sending a processing request for the data to be processed to the target server through a long connection established with the target server corresponding to the second location information.

[0138] In some embodiments, when the target plugin includes multiple execution units, all execution units will maintain a long connection with the target server. When the first location information and the second location information are different, the above-mentioned establishment of a long connection with the target server corresponding to the first location information can be: establishing long connections between the multiple execution units and the target server corresponding to the first location information respectively.

[0139] When the target plugin runs multiple execution units, each execution unit can create a corresponding scanning component. Therefore, establishing long connections between each execution unit and the target server corresponding to the first location information can include:

[0140] Retrieve the third lock resource corresponding to the component list;

[0141] Traverse the component list to obtain the second lock resource of the scanning component for any execution unit; use the scanning component to establish a long connection between the execution unit and the target server corresponding to the first location information;

[0142] The method may also include: detecting the end of the component list traversal and releasing the third lock resource.

[0143] Optionally, the determination of the target token information corresponding to at least one execution unit can be performed when the first location information is the same as the second location information saved by the target plugin, or after establishing a long connection to the target server corresponding to the first location information.

[0144] like Figure 2 As shown in the illustration, this application also provides a data processing method. The technical solution of this embodiment can be executed by a target plugin deployed in a secure client. The target plugin runs at least one execution unit, and the method may include the following steps:

[0145] 201: Utilize the target execution unit to respond to the call command from the security client, and determine the data to be processed and the first location information.

[0146] This initial location information can be obtained by a secure client.

[0147] 202: Compare the first location information with the second location information saved by the target plugin.

[0148] 203: If the first location information and the second location information are different, update the second location information based on the first location information.

[0149] 204: Establish a long connection with the target server corresponding to the first location information, so as to send a processing request for the data to be processed to the target server through the long connection; the processing request is used to trigger the target server to perform the processing operation on the data to be processed.

[0150] Optionally, if the first location information and the second location information are the same, a processing request for the data to be processed can be sent to the target server through a long connection established with the target server corresponding to the second location information.

[0151] In this embodiment, the target execution unit updates the saved second location information based on the first location information of the security client according to the calling instruction, thereby re-establishing a long connection with the target server corresponding to the second location information. Through the location update operation, the location of the request processing is kept consistent with the location of the target server, thus ensuring the stability of the connection.

[0152] In some embodiments, to ensure data consistency and avoid access conflicts, the comparison of the first location information with the second location information saved by the target plugin may include:

[0153] Obtain the first lock resource containing the second location information saved by the target plugin; compare the first location information with the second location information;

[0154] The method also includes:

[0155] Release the first lock resource if the first location information is the same as the second location information or in response to an update operation of the second location information.

[0156] In some embodiments, the first lock resource for obtaining the second location information saved by the target plugin may include: comparing the first location information with the second location information saved by the target plugin;

[0157] When the first location information and the second location information are different, the first lock resource that is saved by the target plugin for the second location information is obtained;

[0158] The method may also include:

[0159] If the first location information and the second location information are the same, a processing request for the data to be processed is sent to the target server through a long connection established with the target server corresponding to the second location information.

[0160] In some embodiments, when the target plugin includes multiple execution units, all execution units will maintain a long connection with the target server. When the first location information and the second location information are different, the above-mentioned establishment of a long connection with the target server corresponding to the first location information can be: establishing long connections between the multiple execution units and the target server corresponding to the first location information respectively.

[0161] When the target plugin runs multiple execution units, each execution unit can create a corresponding scanning component. Therefore, establishing long connections between each execution unit and the target server corresponding to the first location information can include:

[0162] Obtain the third lock resource corresponding to the component list; traverse the component list to obtain the second lock resource of the scanning component for any execution unit; use the scanning component to establish a long connection between the execution unit and the target server corresponding to the first location information;

[0163] The method may also include: detecting the end of the component list traversal and releasing the third lock resource.

[0164] Furthermore, when security verification of the target plugin is required, the invocation instruction can also include first token information. Each execution unit can also store corresponding target token information. To further ensure connection stability, at least one execution unit can be identified as storing target token information. The target token information can be updated based on the first token information. The processing request sent to the target server can then trigger the target server to first verify the target token information. If the target token information is successfully verified, the server will execute the processing operation on the data to be processed. For detailed implementation information, please refer to [link to implementation details]. Figure 1 As described in the relevant embodiments, it will not be repeated here.

[0165] Optionally, the execution may be performed when the first location information is the same as the second location information saved by the target plugin, or after establishing a long connection with the target server corresponding to the first location information, the target token information corresponding to at least one execution unit is determined and the target token information is updated based on the first token information.

[0166] In a practical application, the data to be processed can refer to the file to be checked, and the target plugin is a file detection plugin. Users can trigger file verification commands on specific files or batches of files on their devices through a security client, which in turn can send a call command to the corresponding target plugin. The execution unit running within the target plugin can refer to a thread.

[0167] The following description uses the data to be processed as the file to be detected as an example to illustrate the technical solution of this application. The system architecture to which the technical solution of this application applies can be as follows: Figure 3 As shown, the system architecture may include a security client 301, a security server 302, a verification server 303, and may also include a storage service server 304. In an office environment, the security client 301 and the security server 302 constitute an office security platform. The security client 301 can integrate multiple processing engines, each of which can integrate multiple plugins to achieve different functions, including a target plugin 305 for file detection.

[0168] In practical applications, a 303 verification server can be implemented as a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or as an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. This allows it to leverage the powerful processing capabilities and extensive threat database of cloud computing to provide more comprehensive and real-time security protection than local solutions, achieving accurate and secure file verification.

[0169] Storage service provider 304 can provide network storage services, such as object storage services, block storage services, or network attached storage services, etc., which are not limited in this application.

[0170] The security client 301 and the security server 302 can establish a connection through a network. This application does not specifically limit the connection form between the security client 301 and the security server 302.

[0171] The target plugin 305 needs to establish long connections with the verification server 303 and the storage service server 304 respectively to reduce network latency and improve verification efficiency.

[0172] The security client can be implemented as an application (APP) and deployed on the user's device. The user device can be a personal mobile terminal such as a mobile phone, tablet, personal computer, desktop computer, smart speaker, smartwatch, etc., which can have a display screen and support information browsing.

[0173] The 302 security server can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0174] The security server 302, verification server 303, and storage service server 304 can obtain continuously updated token information from the token provider 300. The security server 302 can send the latest token information to the security client 301. Of course, the security client 301 can also actively obtain the latest token information from the security server 302. For example, in the case of file verification failure, it can obtain the latest token information from the security server 302 and re-execute the technical solution of this application.

[0175] Based on the file detection command triggered by the user, the security client 301 can send corresponding call commands to the target plugin 305 for different files. The call command may include the file path, the first token information recently obtained by the security client 301, and the first location information of the security client.

[0176] Target plugin 305 can select the target thread to respond to the call command.

[0177] The response process of the target thread will be described below. Figure 4 The token information update operation during the response process is described. Figure 5 The location information update operation during the response process is described.

[0178] like Figure 4As shown, the target thread responds to the call instruction and can read the configuration object to determine the second token information (step 401). Then, for example, it can call a diff function to compare the first and second token information (step 402). If the first and second token information are different, the first lock resource of the configuration object can be acquired, and the diff function can be called again to compare the first and second token information (step 403). If the first and second token information are different, the configuration object can be updated using the first token information (step 404), and then the first lock resource can be released. Next, the third lock resource of the component list of all threads can be acquired (step 405), and a traversal operation can be performed. For any scanned component being traversed, the second lock resource of the scanned component can be acquired first, and the target token information in its maintained long connection object can be acquired (step 406). Then, the long connection object can be updated using the second token information (step 407), making the target token information the same as the second and first token information. After the long connection object is updated, the second lock resource can be released. After the traversal is complete, the third lock resource can be released.

[0179] If the first token information and the second token information are the same, the corresponding file verification operation can be performed based on the long connection with the verification server or the storage service server (step 408). The target thread can also obtain the verification result (step 409) and can trigger the security client 301 to output the verification result.

[0180] like Figure 5 As shown, the target thread responds to the call instruction and can read the configuration object to determine the second position information (step 501); then, for example, it can call a comparison (diff) function to compare the first position information and the second position information (step 502); if the first position information and the second position information are different, the first lock resource of the configuration object can be acquired and the diff function can be called again to compare the first position information and the second position information (step 503); if the first position information and the second position information are different, the configuration object can be updated using the first position information (step 504), and then the first lock resource can be released; then, the third lock resource of the component list of all threads can be acquired (step 505), and a traversal operation can be performed. For any scanned component being traversed, the second lock resource of the scanned component can be acquired first, and a long connection can be established with the storage service client and / or verification service client corresponding to the first position information (step 506), and the long connection with the target service corresponding to the second position information can be released. After the long connection is established, the second lock resource can be released. After the traversal is completed, the third lock resource can be released. Then, the corresponding file verification operation can be performed based on the long connection established with the verification server or storage service corresponding to the first location information (step 507).

[0181] If the first location information and the second location information are the same, the corresponding file verification operation can be performed based on the long connection between the verification server or storage service server corresponding to the second location information (step 507). The target thread can also obtain the verification result (step 508) and can trigger the security client 301 to output the verification result.

[0182] Furthermore, in practical applications, after the target thread reads the configuration object, the operations of steps 402 and 502 can be executed simultaneously. If the first position information is different from the second position information, the operations of steps 503 to 506 can be executed first, followed by the operations of steps 403 to 407. If the first position information is the same as the second position information, the operations of steps 403 to 409 can be executed.

[0183] The technical solution of this application embodiment ensures the safety of reading and writing token information by multiple threads in a multi-threaded environment through lock resource settings, avoiding data inconsistency issues under contention conditions in multi-threaded environments. Furthermore, in a long-connection environment, it ensures that the connection state and token information are always up-to-date, guaranteeing connection stability, data transmission efficiency, and improved verification efficiency.

[0184] Figure 6 This is a schematic diagram of one embodiment of a data processing apparatus provided in this application. In practical applications, this apparatus can be implemented as a target plugin deployed in a secure client. The apparatus may include:

[0185] The first determining module 601 is used to determine the data to be processed and the first token information by responding to the call command of the security client using the target execution unit; the first token information is the latest token information obtained by the client.

[0186] The second determining module 602 is used to determine the target token information stored corresponding to the target execution unit;

[0187] The first update module 603 is used to update the target token information based on the first token information;

[0188] The first request module 604 is used to send a processing request for the data to be processed to the target server through a long connection established with the target server based on the target token information corresponding to the target execution unit; wherein, the processing request is used to trigger the target server to perform the processing operation on the data to be processed if the target token information is successfully verified.

[0189] In some embodiments, at least one execution unit includes multiple execution units; the second determining module may specifically determine the target token information stored by each of the multiple execution units.

[0190] The first update module can be specifically used to compare the first token information with the second token information saved by the target plugin; if the first token information and the second token information are different, the second token information is updated using the first token information, and the target token information saved by the multiple execution units is updated using the second token information, or the target token information saved by the multiple execution units can be updated using the first token information, so that the target token information is the same as the second token information and the first token information.

[0191] In some embodiments, the first update module compares the first token information with the second token information stored in the target plugin, including: obtaining the first lock resource of the second token information stored in the target plugin; and comparing the first token information with the second token information.

[0192] The device may also include:

[0193] The first release module is used to release the first lock resource when the first token information is the same as the second token information or in response to an update operation of the second token information.

[0194] In some embodiments, the first lock resource for the first update module to obtain the second token information saved by the target plugin may include: comparing the first token information with the second token information saved by the target plugin; and if the first token information and the second token information are different, obtaining the first lock resource for the second token information saved by the target plugin.

[0195] The first request module is also used to send a processing request for the data to be processed to the target server based on the target token information corresponding to the target execution unit, when the first token information and the second token information are the same.

[0196] In some embodiments, the first update module updating the target token information stored by the multiple execution units using the first token information may include: for any execution unit, obtaining the second lock resource corresponding to the target token information stored by that execution unit; and updating the target token information using the second token information.

[0197] The device may also include a second release module for releasing the second lock resource in response to an update operation of the target token information.

[0198] In some embodiments, multiple execution units each create a corresponding scanning component; the first update module may update the target token information stored by the multiple execution units using the first token information, including: obtaining the third lock resource corresponding to the component list; traversing the component list to obtain the second lock resource of the scanning component for any execution unit; obtaining the target token information stored by the execution unit using the scanning component; and updating the target token information using the second token information.

[0199] The device may also include:

[0200] The third release module is used to release the second lock resource in response to the update operation of the target token information; and to release the third lock resource after the detection component list traversal is completed.

[0201] In some embodiments, the target server includes a verification server;

[0202] The first request module specifically sends a verification request for the data to be processed to the verification server through a long connection established with the verification server based on the target token information corresponding to the target execution unit. The verification request is used to trigger the verification server to perform data verification operations on the data to be processed if the target token information is successfully verified.

[0203] In some embodiments, the target server includes a verification server and a storage service server;

[0204] The first request module is specifically used for: sending a storage request for the data to be processed to the storage service provider through a long connection established with the storage service provider based on the target token information corresponding to the target execution unit; the storage request is used to trigger the storage service provider to store the data to be processed if the target token information is successfully verified; responding to the storage notification from the storage service provider, sending a first verification request for the data to be processed to the verification service provider through a long connection established with the verification service provider based on the target token information corresponding to the target execution unit; the first verification request is used to trigger the verification service provider to download the data to be processed from the storage service provider and perform data verification operations on the data to be processed if the target token information is successfully verified.

[0205] In some embodiments, the device may further include:

[0206] The result acquisition module is used to obtain the verification results of the data to be processed based on a long connection.

[0207] The security client is triggered to output the verification result, or if the verification result is a verification failure, the security client is triggered to retrieve the first token information from the security server again and trigger the execution of the second determination module.

[0208] In some embodiments, the device may further include:

[0209] The third determination module is used to determine the first location information of the security client in response to the call command;

[0210] The comparison module is used to compare the first location information with the second location information saved by the target plugin;

[0211] The second update module is used to update the second location information based on the first location information when the first location information and the second location information are different.

[0212] The connection establishment module is used to establish a long connection with the target server corresponding to the first location information.

[0213] Figure 6 The data processing device can perform Figure 1 The implementation principle and technical effects of the data processing method described in the illustrated embodiments will not be repeated here. The specific methods by which each module and unit of the data processing device in the above embodiments performs its operations have been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0214] Figure 7 This is a schematic diagram of another embodiment of a data processing apparatus provided in this application. In practical applications, this apparatus can be implemented as a target plugin deployed in a secure client. The apparatus may include:

[0215] The third determining module 701 is used to determine the data to be processed and the first location information by utilizing the target execution unit in response to the calling instruction of the security client;

[0216] Comparison module 702 is used to compare the first location information with the second location information saved by the target plugin;

[0217] The second update module 703 is used to update the second location information based on the first location information when the first location information is different from the second location information.

[0218] The connection establishment module 704 is used to establish a long connection with the target server corresponding to the first location information, so as to send a processing request for the data to be processed to the target server through the long connection; wherein, the processing request is used to trigger the target server to perform the processing operation on the data to be processed.

[0219] In some embodiments, the comparison module may be specifically used to obtain the first lock resource containing the second location information saved by the target plugin; and to compare the first location information with the second location information.

[0220] The device may also include:

[0221] The fourth release module is used to release the first lock resource when the first location information is the same as the second location information or in response to an update operation of the second location information.

[0222] In some embodiments, the comparison module obtains the first lock resource of the second location information saved by the target plugin by: comparing the first location information with the second location information saved by the target plugin; and if the first location information and the second location information are different, obtaining the first lock resource of the second location information saved by the target plugin.

[0223] The connection establishment module is also used to send a processing request for the data to be processed through a long connection established with the target server corresponding to the second location information, when the first location information and the second location information are the same.

[0224] In some embodiments, multiple execution units running the target plugin each create corresponding scanning components;

[0225] The connection establishment module can be specifically used to obtain the third lock resource corresponding to the component list; traverse the component list to obtain the second lock resource of the scanning component for any execution unit; and use the scanning component to establish a long connection between the execution unit and the target server corresponding to the first location information.

[0226] The device may also include:

[0227] The fifth release module is used to detect the end of the component list traversal and release the third lock resource.

[0228] Figure 7 The data processing device can perform Figure 2 The implementation principle and technical effects of the data processing method described in the illustrated embodiments will not be repeated here. The specific methods by which each module and unit of the data processing device in the above embodiments performs its operations have been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0229] This application also provides a computing device, such as... Figure 8 As shown, the computing device may include a storage component 801 and a processing component 802;

[0230] Storage component 801 stores one or more computer instructions, wherein the one or more computer instructions are invoked and executed by processing component 801 to achieve, for example, Figure 1 The data processing method described in the illustrated embodiment or as shown in the figure Figure 2 The data processing method described in the illustrated embodiment.

[0231] Of course, computing devices may also include other components, such as input / output interfaces, display components, communication components, etc.

[0232] Input / output interfaces provide interfaces between processing components and peripheral interface modules, which can be output devices, input devices, etc. Communication components are configured to facilitate wired or wireless communication between computing devices and other devices.

[0233] The processing component may include one or more processors to execute computer instructions to complete all or part of the steps in the above-described method. Alternatively, the processing component may be implemented as one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above-described method.

[0234] Storage components are configured to store various types of data to support operations on the terminal. Storage components can be implemented from 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 storage, flash memory, magnetic disk, or optical disk.

[0235] It should be noted that the aforementioned computing devices can be physical devices or elastic computing hosts provided by cloud computing platforms. They can be implemented as a distributed cluster of multiple servers or terminal devices, or as a single server or a single terminal device.

[0236] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a computer, can perform the above-described functions. Figure 1 The data processing method described in the illustrated embodiment or as shown in the figure Figure 2 The data processing method described in the illustrated embodiment. This computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device.

[0237] This application also provides a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program, when executed by a computer, can perform the above-described functions. Figure 1 The data processing method described in the illustrated embodiment or as shown in the figure Figure 2 The data processing method described in the illustrated embodiment. In such an embodiment, the computer program may be downloaded and installed from a network, and / or installed from a removable medium. When the computer program is executed by a processor, it performs the various functions defined in the system of this application.

[0238] It should be noted that the embodiments of this application may involve the use of user data. In practical applications, user-specific personal data may be used in the scheme described herein within the scope permitted by applicable laws and regulations, provided that it complies with the applicable laws and regulations of the country (e.g., with the user's explicit consent, with the user being properly notified, etc.).

[0239] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

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

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

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

Claims

1. A data processing method, characterized in that, Target plugins used for deployment in secure clients; The target plugin runs at least one execution unit, and the method includes: The target execution unit responds to the call command from the security client to determine the data to be processed and the first token information; the first token information is the latest token information obtained by the client. Determine the target token information stored corresponding to the target execution unit; Update the target token information based on the first token information; Based on the target token information corresponding to the target execution unit, a processing request for the data to be processed is sent to the target server through a long connection established with the target server; wherein, the processing request is used to trigger the target server to perform processing operations on the data to be processed if the target token information is successfully verified.

2. The method according to claim 1, characterized in that, The at least one execution unit includes multiple execution units; determining the target token information stored corresponding to the target execution unit includes: The target token information stored by each of the plurality of execution units is determined; The step of updating the target token information based on the first token information includes: Compare the first token information with the second token information stored in the target plugin; If the first token information is different from the second token information, the second token information is updated using the first token information, and the target token information stored by the plurality of execution units is updated using the second token information.

3. The method according to claim 2, characterized in that, The step of comparing the first token information with the second token information stored in the target plugin includes: The first lock resource that obtains the second token information stored in the target plugin; Compare the first token information with the second token information; The method further includes: The first lock resource is released if the first token information is the same as the second token information or in response to an update operation of the second token information.

4. The method according to claim 3, characterized in that, The first lock resource for obtaining the second token information saved by the target plugin includes: Compare the first token information with the second token information stored in the target plugin; If the first token information and the second token information are different, obtain the first lock resource of the second token information stored by the target plugin; The method further includes: If the first token information and the second token information are the same, a processing request for the data to be processed is sent to the target server based on the target token information corresponding to the target execution unit.

5. The method according to claim 2, characterized in that, The step of updating the target token information stored by the multiple execution units using the second token information includes: For any execution unit, acquire the second lock resource containing the target token information stored by the execution unit; Update the target token information using the second token information; The method further includes: In response to the update operation of the target token information, the second lock resource is released.

6. The method according to claim 2, characterized in that, The target plugin runs multiple execution units, each of which creates a corresponding scanning component; The step of updating the target token information stored by the multiple execution units using the second token information includes: Retrieve the third lock resource corresponding to the component list; Traverse the list of components to obtain the second lock resource of the scanning component for any execution unit; The scanning component is used to obtain the target token information stored by the execution unit. Update the target token information using the second token information; The method further includes: In response to the update operation of the target token information, the second lock resource is released; Once the traversal of the component list is complete, the third lock resource is released.

7. The method according to claim 1, characterized in that, The target server includes a verification server; The step of sending a processing request for the data to be processed to the target server through a long connection established with the target server, based on the target token information corresponding to the target execution unit, includes: Based on the target token information corresponding to the target execution unit, a verification request for the data to be processed is sent to the verification server through a long connection established with the verification server; the verification request is used to trigger the verification server to perform a data verification operation on the data to be processed if the target token information is successfully verified.

8. The method according to claim 1, characterized in that, The target server includes a verification server and a storage service server; The step of sending a processing request for the data to be processed to the target server through a long connection established with the target server, based on the target token information corresponding to the target execution unit, includes: Based on the target token information corresponding to the target execution unit, a storage request for the data to be processed is sent to the storage service provider through a long connection established with the storage service provider; the storage request is used to trigger the storage service provider to store the data to be processed if the target token information is successfully verified. In response to the storage notification from the storage service provider, based on the target token information corresponding to the target execution unit, a first verification request for the data to be processed is sent to the verification service provider through a long connection established with the verification service provider. The first verification request is used to trigger the verification service provider to download the data to be processed from the storage service provider and perform a data verification operation on the data to be processed if the target token information is successfully verified.

9. The method according to claim 7 or 8, characterized in that, Also includes: The verification result of the data to be processed is obtained based on the long connection; The security client is triggered to output the verification result, or if the verification result is a verification failure, the security client is triggered to retrieve the first token information from the security server again, and then return to the step of determining the target token information stored by the at least one execution unit to continue execution.

10. The method according to claim 1, characterized in that, Also includes: In response to the invocation command, the first location information of the security client is determined; Compare the first location information with the second location information saved by the target plugin; If the first location information differs from the second location information, the second location information is updated based on the first location information; Establish a long-lived connection with the target server corresponding to the first location information.

11. A data processing method, characterized in that, Target plugins used for deployment in secure clients; The target plugin runs at least one execution unit, and the method includes: The target execution unit responds to the call command from the security client to determine the data to be processed and the first location information; Compare the first location information with the second location information saved by the target plugin; If the first location information differs from the second location information, the second location information is updated based on the first location information; A long connection is established with the target server corresponding to the first location information, so as to send a processing request for the data to be processed to the target server through the long connection; wherein, the processing request is used to trigger the target server to perform a processing operation on the data to be processed.

12. The method according to claim 11, characterized in that, The step of comparing the first location information with the second location information saved by the target plugin includes: Obtain the first lock resource containing the second location information saved by the target plugin; compare the first location information with the second location information; The method further includes: If the first location information is the same as the second location information, or in response to an update operation of the second location information, release the first lock resource.

13. The method according to claim 12, characterized in that, The first lock resource for obtaining the second location information saved by the target plugin includes: Compare the first location information with the second location information saved by the target plugin; If the first location information is different from the second location information, the first lock resource of the second location information saved by the target plugin is obtained; The method further includes: If the first location information is the same as the second location information, a processing request for the data to be processed is sent through a long connection established with the target server corresponding to the second location information.

14. The method according to claim 11, characterized in that, The target plugin runs multiple execution units, each of which creates a corresponding scanning component; establishing a long connection to the target server corresponding to the first location information includes: Retrieve the third lock resource corresponding to the component list; Traverse the component list to obtain the second lock resource of the scanning component for any execution unit; use the scanning component to establish a long connection between the execution unit and the target server corresponding to the first location information; The method further includes: Once the traversal of the component list is complete, the third lock resource is released.

15. A computing device, characterized in that, This includes processing components and storage components; The storage component stores one or more computer instructions; the one or more computer instructions are to be invoked and executed by the processing component to implement the data processing method as described in any one of claims 1 to 10 or the data processing method as described in any one of claims 11 to 14.

16. A computer-readable storage medium, characterized in that, It stores a computer program, which, when executed by a processing component, implements the data processing method as described in any one of claims 1 to 10 or the data processing method as described in any one of claims 11 to 14.

17. A computer program product, characterized in that, Includes a computer program / instruction, which, when executed by a processing component, implements the data processing method as described in any one of claims 1 to 10 or the data processing method as described in any one of claims 11 to 14.