Optimization method and system for realizing software function extension based on DLL (Dynamic Link Library) and computing equipment

Through the optimization method executed in the DLL module, using hot plugging and unified specification interfaces, the problems of insufficient flexibility and unstable performance in traditional plug-in development methods are solved, and flexible expansion and rapid iteration of software functions are achieved, which enhances security.

CN119987831AActive Publication Date: 2025-05-13BEIJING PARATERA TECH +1
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510053423.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-13
Publication Date
2025-05-13
Estimated Expiration
2045-01-13

AI Technical Summary

Technical Problem

Traditional plug-in development methods require modification of the source code of the main program, which limits the flexibility and portability of the plug-in. When using DLL and Hook technologies for plug-in development, there is insufficient flexibility, unstable performance and security risks.

Method used

Through the optimization method executed in the DLL module, hot plugging is used to integrate into the target software to realize verification of external data and content filtering and security detection of content to be output, a standardized method set, an extension manager and multiple functional plug-ins are provided, and third-party extension software supports communication with the DLL module through a unified specification interface.

Benefits of technology

It realizes the flexible and rapid development and deployment of plug-ins without modifying the software source code, improves the flexible expansion and rapid iteration of software functions, enhances performance stability and security, and avoids potential security risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987831A_ABST
    Figure CN119987831A_ABST
Patent Text Reader

Abstract

The invention discloses an optimization method and system for achieving software function extension based on a DLL and computing device.A DLL module is integrated in target software of a client in a hot plug mode, and the method comprises the steps that in response to a request for inputting external data through a data input interface of the target software, the external data are captured through a first interceptor; verifying the external data to obtain a verification result, and returning the verification result to the target software, so that the target software processes the external data according to the verification result; in response to a request for outputting to-be-output content through a data output interface of the target software, capturing the to-be-output content through a second interceptor; and performing content filtering and security detection on the to-be-output content to obtain target output content, and returning the target output content to the target software so as to be displayed at the client. According to the method, the plug-in can be flexibly and rapidly developed and deployed under the condition that software source codes are not modified, and then flexible expansion and rapid iteration of software functions are achieved through the plug-in.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software development, and in particular to an optimization method for implementing software function expansion based on DLL, an optimization system and a computing device for implementing software function expansion based on DLL. Background Art

[0002] In modern software development, plug-ins are a common way to extend software functionality. Plug-ins allow developers to add new features or improve existing features to software without modifying the core code of the main program. This modular development approach improves the maintainability and scalability of the software. However, traditional plug-in development methods usually require modifications to the source code of the main program, which limits the flexibility and portability of the plug-in.

[0003] In the existing technical solutions, DLL and Hook technologies are used for plug-in development to achieve dynamic expansion of software functions. DLL allows developers to define and operate data models, while Hook technology allows developers to intercept and modify the behavior of software. However, the use of DLL and Hook technologies for plug-in development is not flexible enough and difficult to adapt to rapidly changing development needs. Moreover, the performance is not stable enough when processing large amounts of data and high-frequency calls, and there are security risks.

[0004] Therefore, an optimization method for implementing software function expansion based on DLL is needed to solve the problems existing in the above technical solutions. Summary of the invention

[0005] To this end, the present invention provides an optimization method for implementing software function expansion based on DLL and an optimization system for implementing software function expansion based on DLL, so as to solve or at least alleviate the above problems.

[0006] According to one aspect of the present invention, there is provided an optimization method for implementing software function expansion based on DLL, which is executed in a DLL module, and the DLL module is suitable for being integrated in a target software of a client by hot plugging, so as to expand the function of the target software. The method comprises: in response to a request for inputting external data through a data input interface of the target software, capturing the external data through a first interceptor; verifying the external data to obtain a verification result, and returning the verification result to the target software, so that the target software processes the external data according to the verification result; in response to a request for outputting content to be output through a data output interface of the target software, capturing the content to be output through a second interceptor; performing content filtering and security detection on the content to be output to obtain target output content, and returning the target output content to the target software, so as to display the target output content on the client.

[0007] Optionally, according to the optimization method for implementing software function expansion based on DLL of the present invention, the DLL module includes a standardized method set, an extension manager and multiple function plug-ins, so that each function plug-in can be operated by utilizing the standardized method set, and each function plug-in can be loaded, unloaded or managed by utilizing the extension manager.

[0008] Optionally, the optimization method for implementing software function extension based on DLL according to the present invention further includes: sending a corresponding software function call request to the target software in response to a DLL function call request sent by third-party extension software; receiving a function call result returned by the target software, and returning it to the third-party extension software.

[0009] Optionally, the optimization method for implementing software function expansion based on DLL according to the present invention further includes: if the verification result indicates that the external data verification fails, generating a corresponding timing message and pushing it to the third-party expansion software.

[0010] Optionally, according to the optimization method for implementing software function expansion based on DLL of the present invention, the third-party expansion software is suitable for communicating with the DLL module through TCP protocol, socket protocol or http protocol based on the unified standard interface provided by the DLL module.

[0011] Optionally, according to the optimization method for implementing software function expansion based on DLL of the present invention, content filtering and security detection are performed on the content to be output to obtain target output content, including: content filtering the content to be output to filter out sensitive information in the content to be output to obtain first output content; security detection is performed on the first output content to detect whether there is malicious code in the first output content, and the detected malicious code is removed to obtain the target output content.

[0012] Optionally, according to the optimization method for implementing software function expansion based on DLL of the present invention, the external data is verified to obtain a verification result, including: cleaning the external data to remove invalid data, duplicate data or abnormal data in the external data; and verifying the format and content of the cleaned external data to obtain a verification result.

[0013] Optionally, according to the optimization method for implementing software function expansion based on DLL of the present invention, it also includes: adding the first interceptor in the form of annotation to the data input interface of the target software in advance; adding the second interceptor in the form of annotation to the data output interface of the target software in advance.

[0014] According to one aspect of the present invention, there is provided an optimization system for implementing software function expansion based on DLL, wherein the target software is deployed on the client; the DLL module is suitable for being integrated into the target software by hot plugging, and is suitable for executing the method as described above to implement the expansion of the function of the target software.

[0015] Optionally, the optimization system for implementing software function expansion based on DLL according to the present invention further includes: third-party expansion software, suitable for communicating with the DLL module through TCP protocol, socket protocol or http protocol based on the unified standard interface provided by the DLL module.

[0016] Optionally, according to the optimization system for implementing software function extension based on DLL of the present invention, the third-party extension software is suitable for sending a DLL function call request to the DLL module; the DLL module is suitable for: responding to the DLL function call request sent by the third-party extension software, sending a corresponding software function call request to the target software, receiving the function call result returned by the target software and returning it to the third-party extension software.

[0017] According to one aspect of the present invention, there is provided a computing device, comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be suitable for execution by the at least one processor, and the program instructions include instructions for executing the optimization method for implementing software function expansion based on DLL as described above.

[0018] According to one aspect of the present invention, a computer program product is provided, comprising a computer program / instruction, wherein the computer program / instruction implements the method as described above when executed by a processor.

[0019] According to one aspect of the present invention, a readable storage medium storing program instructions is provided. When the program instructions are read and executed by a computing device, the computing device executes the optimization method for implementing software function expansion based on DLL as described above.

[0020] According to the technical solution of the present invention, an optimization method for implementing software function expansion based on DLL is provided. The DLL module can be integrated into the software through a senseless hot-swap method, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, thereby realizing flexible expansion and rapid iteration of software functions through plug-ins. Among them, when external data is input through the data input interface of the target software, the DLL module captures the external data through the first interceptor, and returns the verification result to the target software after verifying the external data, so that the extended function of verifying the external data can be realized. When the content to be output is output through the data output interface of the target software, the DLL module captures the content to be output through the second interceptor, and obtains the target output content after content filtering and security detection of the content to be output, and returns the target output content to the target software for display on the client, which can realize the extended function of content filtering and security detection of the content to be output, thereby avoiding potential safety hazards.

[0021] Secondly, according to the technical solution of the present invention, each functional plug-in in the DLL module is isolated from each other, so that when the functional plug-in is used to process a large amount of data and high-frequency calls, the performance is more stable.

[0022] In addition, third-party extension software can call the functions of the target software through the DLL module, thereby enhancing and expanding the existing software functions.

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

[0024] To achieve the above and related purposes, certain illustrative aspects are described herein in conjunction with the following description and accompanying drawings, which indicate various ways in which the principles disclosed herein can be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. The above and other purposes, features and advantages of the present disclosure will become more apparent by reading the following detailed description in conjunction with the accompanying drawings. Throughout the present disclosure, the same reference numerals generally refer to the same parts or elements.

[0025] Figure 1 A schematic diagram of an optimization system 100 for implementing software function expansion based on DLL according to an embodiment of the present invention is shown;

[0026] Figure 2 A schematic diagram of a computing device 200 provided according to an embodiment of the present invention is shown;

[0027] Figure 3 A flow chart of an optimization method 300 for implementing software function expansion based on DLL according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0028] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0029] In view of the problems of insufficient flexibility, unstable performance and potential safety hazards in the plug-in development methods in the prior art, an embodiment of the present invention provides an optimization method for implementing software function expansion based on DLL. The DLL module can be integrated into the software in a seamless hot-swappable manner, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, thereby realizing flexible expansion and rapid iteration of software functions through plug-ins.

[0030] The optimization method for implementing software function extension based on DLL provided in the embodiment of the present invention can be implemented in an optimization system for implementing software function extension based on DLL. The optimization system for implementing software function extension based on DLL of the present invention is introduced below.

[0031] Figure 1 A schematic diagram of an optimization system 100 for implementing software function extension based on DLL according to an embodiment of the present invention is shown. The optimization system 100 for implementing software function extension based on DLL according to the present invention can be deployed in a computing device.

[0032] like Figure 1 As shown, in an embodiment of the present invention, an optimization system 100 for implementing software function expansion based on DLL includes a DLL module and a target software that needs to be functionally expanded. The target software can be deployed on a client. The DLL module can be integrated into the target software in a hot-plugging manner to expand the function of the target software.

[0033] It should be noted that the present invention does not limit the type of target software, and the target software can be implemented as any software that needs to be functionally expanded. For example, in some embodiments, the target software can be information monitoring software.

[0034] In some embodiments, the DLL module includes a standardized method set, an extension manager, and multiple functional plug-ins. The standardized method set may include, for example, an initialization method (initialize), an execution method (execute), and a destruction method (destroy), but the present invention is not limited thereto. Multiple functional plug-ins may include, for example, a data verification plug-in, a data filtering plug-in, a message communication plug-in, and other functional plug-ins, and the present invention does not limit the specific types of each functional plug-in. In this way, the standardized method set provided by the DLL module can be used to operate each functional plug-in, and the extension manager provided by the DLL module can be used to load, unload, or manage each functional plug-in. Based on this, the DLL module in the present invention can be integrated into the software in a non-sensitive hot-swappable manner, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, and then realize flexible expansion and rapid iteration of software functions through plug-ins.

[0035] In an embodiment of the present invention, when external data is input through the data input interface of the target software, the DLL module can respond to the request to input external data through the data input interface of the target software, capture the external data through the first interceptor, then verify the external data, obtain the verification result, and return the verification result to the target software, so that the target software continues to process the external data according to the verification result (data flow processing). And, when outputting the content to be output through the data output interface of the target software, the DLL module can respond to the request to output the content to be output through the data output interface of the target software, capture the content to be output through the second interceptor, and perform content filtering and security detection on the content to be output to obtain the target output content, and then the target output content can be returned to the target software, so that the target output content obtained after content filtering and security detection can be displayed on the client.

[0036] In some embodiments, the optimization system 100 for implementing software function expansion based on DLL may also include one or more third-party expansion software. The third-party expansion software may communicate with the DLL module through the TCP protocol, the socket protocol, or the http protocol based on the unified standard interface provided by the DLL module. Based on this, the third-party expansion software may call the function of the target software via the DLL module, thereby enabling enhancement and expansion of the existing software functions. Furthermore, the third-party expansion software may receive the timing message pushed by the DLL module based on any one of the communication protocols of the TCP protocol, the socket protocol, or the http protocol.

[0037] Specifically, the third-party extension software can send a DLL function call request to the DLL module based on the above communication mechanism. The DLL module can respond to the DLL function call request sent by the third-party extension software and send a corresponding software function call request to the target software. Subsequently, the DLL module receives the function call result returned by the target software and returns the function call result to the third-party extension software. In this way, the third-party extension software can call the function of the target software via the DLL module, thereby enhancing and expanding the existing software functions.

[0038] It can be seen that according to the optimization system 100 for implementing software function extension based on DLL provided by an embodiment of the present invention, the DLL module can be integrated into the software through a non-inductive hot-swap mode, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, and then realize flexible expansion and rapid iteration of software functions through plug-ins. Among them, when external data is input through the data input interface of the target software, the DLL module captures the external data through the first interceptor, and returns the verification result to the target software after verifying the external data, so that the extended function of verifying the external data can be realized. When the content to be output is output through the data output interface of the target software, the DLL module captures the content to be output through the second interceptor, and obtains the target output content after content filtering and security detection of the content to be output, and returns the target output content to the target software for display on the client, which can realize the extended function of content filtering and security detection of the content to be output, and thus avoid potential safety hazards. In addition, the various functional plug-ins in the DLL module are isolated from each other, so that when the functional plug-ins are used to process large amounts of data and high-frequency calls, the performance is more stable. In addition, the third-party extension software can call the functions of the target software via the DLL module, so as to realize enhancement and expansion on the existing software functions.

[0039] In an embodiment of the present invention, the DLL module in the optimization system 100 for implementing software function extension based on DLL is suitable for executing the optimization method 300 for implementing software function extension based on DLL, so as to realize flexible development and deployment of plug-ins and thus expand the functions of the target software. The optimization method 300 for implementing software function extension based on DLL of the present invention will be described in detail below.

[0040] In one embodiment, the DLL module of the present invention may be deployed in a computing device described below, so that the optimization method 300 of the present invention for implementing software function extension based on DLL may be executed in the computing device.

[0041] Figure 2 FIG. 2 is a schematic diagram of a computing device 200 provided according to an embodiment of the present invention. Figure 2As shown, in a basic configuration, the computing device 200 includes at least one processing unit 202 and a system memory 204. According to one aspect, depending on the configuration and type of the computing device, the processing unit 202 can be implemented as a processor. The system memory 204 includes, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. According to one aspect, the system memory 204 includes an operating system 205.

[0042] According to one aspect, operating system 205 is suitable for controlling the operation of computing device 200, for example. Furthermore, examples are practiced in conjunction with graphics libraries, other operating systems, or any other application programs, and are not limited to any particular application or system. Figure 2 The basic configuration is shown in FIG. 2 by those components within the dashed lines. According to one aspect, the computing device 200 has additional features or functionality. For example, according to one aspect, the computing device 200 includes additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or tapes. Such additional storage Figure 2 2 is illustrated by a removable storage device 209 and a non-removable storage device 210.

[0043] As stated above, according to one aspect, a program module 203 is stored in the system memory 204. According to one aspect, the program module 203 may include one or more application programs, and the present invention does not limit the type of application program, for example, the application program may include: email and contact application programs, word processing application programs, spreadsheet application programs, database application programs, slide show application programs, drawing or computer-aided application programs, web browser application programs, etc.

[0044] In the embodiment according to the present invention, the program module 203 includes a plurality of program instructions for executing the optimization method 300 for implementing software function extension based on DLL according to the present invention.

[0045] According to one aspect, the examples may be practiced on a circuit comprising discrete electronic components, a packaged or integrated electronic chip containing logic gates, a circuit utilizing a microprocessor, or a single chip containing electronic components or a microprocessor. Figure 2Each or many components shown in can be integrated into a system on a chip (SOC) on a single integrated circuit to practice examples. According to one aspect, such a SOC device may include one or more processing units, a graphics unit, a communication unit, a system virtualization unit, and various application functions, all of which are integrated (or "burned") into a chip substrate as a single integrated circuit. When operated via SOC, the functions described in this article can be operated via a dedicated logic integrated with other components of the computing device 200 on a single integrated circuit (chip). Other technologies that can perform logical operations (such as AND, OR, and NOT) can also be used to practice embodiments of the present invention, including but not limited to mechanical, optical, fluid, and quantum technologies. In addition, embodiments of the present invention can be practiced in a general-purpose computer or in any other circuit or system.

[0046] According to one aspect, the computing device 200 may also have one or more input devices 212, such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc. Output devices 214 may also be included, such as a display, a speaker, a printer, etc. The aforementioned devices are examples and other devices may also be used. The computing device 200 may include one or more communication connections 216 that allow communication with other computing devices 218. Examples of suitable communication connections 216 include, but are not limited to: RF transmitters, receivers and / or transceiver circuits; Universal Serial Bus (USB), parallel and / or serial ports.

[0047] The term computer-readable medium as used herein includes computer storage media. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (e.g., computer-readable instructions, data structures, or program modules). System memory 204, removable storage device 209, and non-removable storage device 210 are all examples of computer storage media (i.e., memory storage). Computer storage media may include random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, cassettes, tapes, disk storage or other magnetic storage devices, or any other products that can be used to store information and can be accessed by computing device 200. According to one aspect, any such computer storage medium can be a part of computing device 200. Computer storage media does not include carrier waves or other propagated data signals.

[0048] According to one aspect, communication media is implemented by computer readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transport mechanism), and includes any information delivery media. According to one aspect, the term "modulated data signal" describes a signal that has one or more characteristics set or changed in a manner that encodes information in the signal. By way of example and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

[0049] In an embodiment according to the present invention, the computing device 200 is configured to execute the optimization method 300 for implementing software function extension based on DLL. The computing device 200 includes one or more processors, and one or more readable storage media storing program instructions. When the program instructions are configured to be executed by one or more processors, the computing device executes the optimization method 300 for implementing software function extension based on DLL in the embodiment of the present invention, so that the computing device 200 can realize flexible and rapid development and deployment of plug-ins without modifying the software source code by executing the optimization method 300 for implementing software function extension based on DLL of the present invention, thereby realizing flexible expansion and rapid iteration of software functions.

[0050] In the embodiment of the present invention, a DLL module is deployed in the computing device 200 , and the DLL module can be configured to execute the optimization method 300 for implementing software function extension based on DLL.

[0051] In the embodiment of the present invention, the DLL module can be integrated into the target software (ie, the software that needs to be functionally expanded) of the client by hot plugging, so as to expand the functions of the target software.

[0052] The following is a detailed description of the optimization method 300 for implementing software function extension based on DLL in an embodiment of the present invention.

[0053] Figure 3 FIG. 3 is a flow chart showing an optimization method 300 for implementing software function expansion based on DLL according to an embodiment of the present invention. Figure 3 As shown, the optimization method 300 for implementing software function expansion based on DLL includes the following steps 310-340.

[0054] In step 310 , the DLL module may capture the external data through the first interceptor in response to a request for inputting external data through the data input interface of the target software.

[0055] In some embodiments of the present invention, when a user requests to input external data through a data input interface of the target software at a client, the DLL module can intercept the input of the external data. Specifically, the DLL module can capture the external data through a first interceptor in response to the request to input external data through the data input interface of the target software.

[0056] In some embodiments of the present invention, the first interceptor can be implemented by DLL, and the first interceptor is pre-added on the data input interface of the target software in the form of annotation, and the first interceptor is used to capture external data before the external data is input through the data input interface of the target software. Based on this, when the external data is input through the data input interface of the target software, the external data can be captured in advance by the first interceptor.

[0057] Subsequently, in step 320, the DLL module can verify the captured external data, obtain a verification result, and return the verification result to the target software, so that the target software can continue to process the external data (data flow processing) according to the verification result. It can be understood that the verification result can indicate that the external data verification is passed or that the external data verification is not passed. Based on this, an extended function of verifying external data can be implemented.

[0058] In some embodiments of the present invention, the external data may be, for example, user login data for authenticating the user's identity. After the DLL module verifies the user login data, if the verification result indicates that the verification is successful, the user can access and operate the target software after the DLL module returns the verification result to the target software. The external data may also be monitoring data. The DLL module verifies the monitoring data and returns the verification result to the target software. The target software may determine whether the monitoring data is abnormal and whether the warning condition is met based on the verification result.

[0059] In some embodiments of the present invention, the specific process of verifying external data is as follows: First, the external data is cleaned to remove invalid data, duplicate data or abnormal data in the external data. For example, regular expressions can be used to filter out text data that does not conform to the format in the external data, or noise data in the external data can be eliminated through a elimination algorithm, so as to achieve the cleaning of the external data. Then, the format and content of the cleaned external data can be verified to obtain a verification result. For example, it can be determined whether the cleaned external data conforms to a predetermined format, and whether the numerical data in the external data is within a predetermined range. If the numerical data is within the predetermined range, it means that the data is normal and has not reached the warning condition. If the numerical data is not within the predetermined range, it means that the data is abnormal and has reached the warning condition.

[0060] In step 230, the DLL module may capture the content to be output through the second interceptor in response to a request to output the content to be output through the data output interface of the target software.

[0061] For example, in some embodiments, when the server outputs the content to be output (the content to be displayed on the client) through the data output interface of the target software, the DLL module can intercept the output of the content to be output. Specifically, the DLL module can capture the content to be output through the second interceptor in response to the request to output the content to be output through the data output interface of the target software.

[0062] In some embodiments of the present invention, the second interceptor can be implemented by DLL, and the second interceptor is pre-added on the data output interface of the target software in the form of annotation. The second interceptor is used to capture the content to be output before the content to be output is output through the data output interface of the target software. Based on this, when the content to be output is output through the data output interface of the target software, the content to be output can be captured in advance by the second interceptor.

[0063] Afterwards, in step 240, the DLL module can perform content filtering and security detection on the content to be output to obtain the target output content, and can return the target output content to the target software, so that the target output content obtained after content filtering and security detection can be displayed on the client. Based on this, the extended function of content filtering and security detection for the content to be output can be realized, thereby improving the security of content output and avoiding potential security risks.

[0064] In some embodiments of the present invention, the specific process of content filtering and security detection on the content to be output is as follows: First, the content to be output can be filtered to filter out sensitive information in the content to be output, and obtain the first output content. Then, the first output content is security-checked to detect whether there is malicious code (or malicious script) in the first output content. If malicious code is detected in the first output content, the detected malicious code is removed, so that the target output content can be obtained.

[0065] In some embodiments of the present invention, the DLL module includes a standardized method set, an extension manager, and multiple functional plug-ins. The standardized method set may include, for example, an initialization method (initialize), an execution method (execute), and a destruction method (destroy), but the present invention is not limited thereto. Multiple functional plug-ins may include, for example, a data verification plug-in, a data filtering plug-in, a message communication plug-in, and other functional plug-ins, and the present invention does not limit the specific types of each functional plug-in. In this way, the standardized method set provided by the DLL module can be used to operate each functional plug-in, and the extension manager provided by the DLL module can be used to load, unload, or manage each functional plug-in. Based on this, the DLL module in the present invention can be integrated into the software in a non-sensitive hot-swappable manner, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, and then realize flexible expansion and rapid iteration of software functions through plug-ins.

[0066] In some embodiments, in step 320, the DLL module can verify the captured external data through the data verification plug-in to obtain the verification result. In step 340, the DLL module can perform content filtering and security detection on the output content through the data filtering plug-in to obtain the target output content.

[0067] In addition, in some embodiments, the DLL module can also summarize and statistically process the data (such as monitoring data) in the target software through other functional plug-ins. For example, it can count the maximum, minimum, and average values ​​of the data over a period of time to generate corresponding data reports and display them to users.

[0068] In some embodiments of the present invention, the optimization system 100 for implementing software function extension based on DLL may also include one or more third-party extension software, the third-party extension software may communicate with the DLL module, and the third-party extension software may send a DLL function call request to the DLL module. The DLL module may respond to the DLL function call request sent by the third-party extension software and send a corresponding software function call request to the target software. Subsequently, the DLL module receives the function call result returned by the target software and returns the function call result to the third-party extension software. In this way, the third-party extension software may call the function of the target software via the DLL module, thereby realizing enhancement and extension on the existing software function.

[0069] In some embodiments, if the verification result indicates that the external data verification fails (the data is abnormal, the warning condition is reached), the DDL module can generate a corresponding timing message, and can push the timing message to the third-party extension software for alarm. In addition, in some embodiments, the DDL module can also generate a corresponding timing message regularly according to a predetermined time period and push it to the third-party extension software. For example, a summary analysis report of the monitoring data can be regularly generated and pushed to the third-party extension software.

[0070] In some embodiments, the DLL module may generate a timed message and push the timed message to a third-party extension software through a message communication plug-in.

[0071] In some embodiments of the present invention, the third-party extension software can communicate with the DLL module through the TCP protocol, the socket protocol or the http protocol based on the unified standard interface provided by the DLL module. Based on the above communication mechanism, the third-party extension software can send a DLL function call request to the DLL module so as to call the function of the target software via the DLL module. In addition, the DDL module can push the timing message to the third-party extension software based on any one of the communication protocols of the TCP protocol, the socket protocol or the http protocol, and the third-party extension software can receive the timing message pushed by the DLL module based on any one of the communication protocols of the TCP protocol, the socket protocol or the http protocol.

[0072] According to the optimization method 300 for implementing software function expansion based on DLL of the present invention, the DLL module can be integrated into the software through a senseless hot-swap mode, so that developers can flexibly and quickly develop and deploy plug-ins without modifying the software source code, thereby realizing flexible expansion and rapid iteration of software functions through plug-ins. Among them, when external data is input through the data input interface of the target software, the DLL module captures the external data through the first interceptor, and returns the verification result to the target software after verifying the external data, so that the extended function of verifying the external data can be realized. When the content to be output is output through the data output interface of the target software, the DLL module captures the content to be output through the second interceptor, and obtains the target output content after content filtering and security detection of the content to be output, and returns the target output content to the target software for display on the client, which can realize the extended function of content filtering and security detection of the content to be output, thereby avoiding potential safety hazards.

[0073] Secondly, according to the technical solution of the present invention, each functional plug-in in the DLL module is isolated from each other, so that when the functional plug-in is used to process a large amount of data and high-frequency calls, the performance is more stable.

[0074] In addition, according to the technical solution of the present invention, third-party extension software can call the functions of the target software via the DLL module, thereby enhancing and expanding the existing software functions.

[0075] In addition, the embodiment of the present invention also discloses: A8, a method as described in any one of A1-7, wherein it also includes: pre-adding the first interceptor in the form of an annotation on the data input interface of the target software; pre-adding the second interceptor in the form of an annotation on the data output interface of the target software. B10, a system as described in B9, wherein it also includes: a third-party extension software, which is suitable for communicating with the DLL module through the TCP protocol, the socket protocol or the http protocol based on the unified standard interface provided by the DLL module. B11, a system as described in B10, wherein the third-party extension software is suitable for sending a DLL function call request to the DLL module; the DLL module is suitable for: responding to the DLL function call request sent by the third-party extension software, sending a corresponding software function call request to the target software, receiving the function call result returned by the target software and returning it to the third-party extension software. C14, a readable storage medium storing program instructions, when the program instructions are read and processed by a computing device, the computing device processes the method as described in any one of A1-A8.

[0076] The various techniques described herein may be implemented in combination with hardware or software, or a combination thereof. Thus, the method and apparatus of the present invention, or some aspects or parts of the method and apparatus of the present invention may be in the form of program codes (i.e., instructions) embedded in a tangible medium, such as a removable hard disk, a USB flash drive, a floppy disk, a CD-ROM, or any other machine-readable storage medium, wherein when the program is loaded into a machine such as a computer and executed by the machine, the machine becomes a device for practicing the present invention.

[0077] In the case where the program code is executed on a programmable computer, the mobile terminal generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store the program code; the processor is configured to execute the optimization method for implementing software function expansion based on DLL according to the instructions in the program code stored in the memory.

[0078] By way of example and not limitation, readable media include readable storage media and communication media. Readable storage media stores information such as computer readable instructions, data structures, program modules or other data. Communication media generally embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and include any information transfer medium. Any combination of the above is also included within the scope of readable media.

[0079] In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system or other device. Various general purpose systems can also be used together with the examples of the present invention. According to the above description, it is obvious that the structure required for constructing such systems. In addition, the present invention is not directed to any specific programming language either. It should be understood that various programming languages ​​can be utilized to implement the content of the present invention described herein, and the description of the above specific languages ​​is for the purpose of disclosing the best mode of the present invention.

[0080] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0081] Similarly, it should be understood that in order to streamline the present disclosure and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof.

[0082] Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in the devices described in the embodiment, or alternatively may be located in one or more devices different from the devices in the examples. The modules in the foregoing examples may be combined into one module or may be divided into multiple submodules.

[0083] Unless otherwise specified, the use of ordinal numbers "first", "second", "third", etc. to describe common objects merely indicates that different instances of similar objects are involved and is not intended to imply that the objects so described must have a given order in time, space, order or in any other manner.

Claims

1. An optimization method for implementing software function expansion based on DLL, which is executed in a DLL module, and the DLL module is suitable for being integrated into the target software of the client by hot plugging to expand the function of the target software, and the method comprises: In response to a request for inputting external data through a data input interface of the target software, capturing the external data through a first interceptor; Verifying the external data to obtain a verification result, and returning the verification result to the target software so that the target software processes the external data according to the verification result; In response to a request to output the content to be output through the data output interface of the target software, capturing the content to be output through a second interceptor; The content to be output is subjected to content filtering and security detection to obtain target output content, and the target output content is returned to the target software so as to be displayed on the client.

2. The method of claim 1, wherein: The DLL module includes a standardized method set, an extension manager, and a plurality of function plug-ins, so that each function plug-in is operated by using the standardized method set, and each function plug-in is loaded, unloaded or managed by using the extension manager.

3. The method according to claim 1 or 2, wherein: Also includes: In response to the DLL function call request sent by the third-party extension software, sending a corresponding software function call request to the target software; The function call result returned by the target software is received and returned to the third-party extension software.

4. The method according to any one of claims 1 to 3, wherein: Also includes: If the verification result indicates that the external data verification fails, a corresponding timing message is generated and pushed to the third-party extension software.

5. The method according to claim 3 or 4, wherein: The third-party extension software is suitable for communicating with the DLL module through the TCP protocol, the socket protocol or the http protocol based on the unified standard interface provided by the DLL module.

6. The method according to any one of claims 1 to 5, wherein: Performing content filtering and security detection on the content to be output to obtain target output content includes: Performing content filtering on the content to be output to filter out sensitive information in the content to be output, and obtaining first output content; A security check is performed on the first output content to detect whether there is malicious code in the first output content, and the detected malicious code is removed to obtain target output content.

7. The method according to any one of claims 1 to 6, wherein: The external data is verified to obtain a verification result, including: Cleaning the external data to remove invalid data, duplicate data or abnormal data in the external data; The format and content of the cleaned external data are verified to obtain the verification results.

8. An optimization system for implementing software function expansion based on DLL, comprising: Target software, deployed on the client; The DLL module is suitable for being integrated into the target software by hot plugging, and is suitable for executing the method as described in any one of claims 1 to 7 to expand the functions of the target software.

9. A computing device comprising: at least one processor; and A memory storing program instructions, wherein the program instructions are configured to be processed by the at least one processor, and the program instructions include instructions for processing the method according to any one of claims 1 to 7.

10. A computer program product comprising a computer program / instructions, wherein: When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Screenshot method and device

    CN103853576A

  • Plug-in framework realization method based on MVC and AutoFac

    CN104166560A

  • COM component technology-based PXI module networking method

    CN107885623A

  • Business service encapsulation and access system, method and device of rich client

    CN110381026A

  • Low-coupling extended business system based on plug-in engine injection

    CN112363755A