WO2020233081A1 - 客户端插件化实现方法、装置、计算机设备及存储介质 - Google Patents

客户端插件化实现方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2020233081A1
WO2020233081A1 PCT/CN2019/122460 CN2019122460W WO2020233081A1 WO 2020233081 A1 WO2020233081 A1 WO 2020233081A1 CN 2019122460 W CN2019122460 W CN 2019122460W WO 2020233081 A1 WO2020233081 A1 WO 2020233081A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
feature information
main body
installation package
database
Prior art date
Application number
PCT/CN2019/122460
Other languages
English (en)
French (fr)
Inventor
夏中崇
Original Assignee
深圳壹账通智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2020233081A1 publication Critical patent/WO2020233081A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • This application relates to the field of computers, and in particular to a method, device, computer equipment, and storage medium for implementing client plug-inization.
  • the client refers to the program that corresponds to the server and provides local services to customers. Except for some applications that only run locally, they are generally installed on ordinary clients and need to work with the server.
  • client terminals include web browsers used in the World Wide Web, email clients for sending and receiving emails, and client software for instant messaging.
  • client-side development kits in the industry is large and bloated, and the coupling between various functional modules is relatively serious, which is not convenient for users.
  • the embodiments of the present application provide a client plug-in implementation method, device, computer equipment, and storage medium, which can quickly implement client development and improve user experience.
  • an embodiment of the present application provides a client-side plug-in implementation method, which includes:
  • the configuration file is parsed to display the corresponding input list on the display interface;
  • the input list includes a main input box group and at least one slave input box group, the main input box group includes a plurality of first input boxes, and different The first input boxes are all associated with different types of first feature information that can be selected for input;
  • each sub-input box group includes multiple second input boxes, and different second input boxes are associated with different available Select to input the second feature information;
  • the main body installation package is parsed to determine the corresponding client main body, and the plug-in dynamic library is associated with the client main body through a preset standard interface to obtain the corresponding client.
  • an embodiment of the present application also provides a client plug-in implementation device, which includes:
  • the file obtaining unit is configured to obtain a preset configuration file according to the client generating instruction if the client generating instruction is detected;
  • the file parsing unit is configured to parse the configuration file to display a corresponding input list on the display interface, the input list includes a main input box group and at least one slave input box group, the main input box group includes a plurality of second One input box, and different first input boxes are associated with different types of first feature information that can be selected for input, and each sub-input box group includes multiple second input boxes, and different second input boxes are There are different options for inputting the second characteristic information in association;
  • the installation package judging unit is used to judge whether the first feature information and the second feature information that are selected and input in the main input box group and the input box group submitted by the user are A main body installation package with matching feature information;
  • the dynamic library judgment unit is configured to, if there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and judge whether the preset plug-in database is compatible with the second Plug-in dynamic library with matching feature information;
  • the dynamic library calling unit is configured to call the plug-in dynamic library matching the second feature information if there is a plug-in dynamic library matching the second feature information in the preset plug-in database;
  • the client processing unit is configured to parse the main body installation package to determine the corresponding client main body, and associate the plug-in dynamic library with the client main body through a preset standard interface to obtain the corresponding client.
  • an embodiment of the present application also provides a computer device, which includes a memory and a processor, the memory stores computer-readable instructions, and the processor implements the above method when the computer-readable instructions are executed by the processor.
  • an embodiment of the present application also provides a computer-readable storage medium, the storage medium stores computer-readable instructions, and the computer-readable instructions can implement the foregoing method when executed by a processor.
  • the embodiments of the present application provide a method, device, computer equipment, and storage medium for implementing client plug-inization.
  • users can edit the functional plug-ins of the client according to their needs, and perform data interaction through a unified standard interface, thereby realizing information exchange between plug-ins, facilitating rapid development of the client and reducing the number of functional modules.
  • other corresponding operations such as adding, deleting and updating function plug-ins can be performed according to the actual needs of users, which improves the user experience.
  • FIG. 1 is a schematic flowchart of a method for implementing client plug-inization according to an embodiment of the present application
  • Figure 1a is a schematic diagram of an application scenario of a client plug-in implementation method provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a sub-flow of a client plug-in implementation method provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a sub-process of a client plug-in implementation method provided by an embodiment of the present application
  • FIG. 4 is a schematic flowchart of a client plug-in implementation method provided by another embodiment of the present application.
  • FIG. 5 is a schematic block diagram of a client plug-in realization device provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an installation package judgment unit of a client plug-in realization device provided by an embodiment of the present application
  • Fig. 7 is a dynamic library judgment unit of a client plug-in realization device provided by an embodiment of the present application
  • FIG. 8 is a schematic block diagram of a client plug-in implementation device provided by another embodiment of the present application.
  • FIG. 9 is a schematic diagram of the structural composition of a computer device provided by an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of a client plug-in implementation method provided by an embodiment of the present application
  • FIG. 1a is a schematic scenario diagram of a client plug-in implementation method in an embodiment of the present application.
  • the client plug-in implementation method is applied to the management server 10. After receiving the client generation instruction, the management server 10 determines the corresponding configuration file according to the client generation instruction, so that the user 20 can edit the function plug-ins of the client according to requirements, and conduct data interaction through a unified standard interface.
  • FIG. 1 is a schematic flowchart of a client plug-in implementation method provided by an embodiment of the present application. As shown in Figure 1, the steps of the method include steps S101 to S106.
  • step S101 if a client generating instruction is detected, a preset configuration file is obtained according to the client generating instruction.
  • the construction and generation of the client can be set according to the needs of the user, mainly when the management server detects the client generation command that the user chooses to send, it can call the client according to the client generation command. Generate a pre-set configuration file corresponding to the command.
  • the client can be configured with the required functional modules, and the functional modules can be the client main body that constitutes the overall framework of the client, and the plug-in dynamic library that implements different functions.
  • the library is installed on the client main body to use the functions of the plug-in dynamic library.
  • Step S102 Parse the configuration file to display a corresponding input list on the display interface;
  • the input list includes a main input box group and at least one slave input box group, the main input box group includes a plurality of first input boxes , And different first input boxes are associated with different types of first feature information for optional input; each sub-input box group includes multiple second input boxes, and different second input boxes are associated with different Is optional to enter the second feature information.
  • the configuration file includes an input list for the user to select and input data information related to the functional modules of the client.
  • the first characteristic information may be characteristic information of a client body constituting the client
  • the second characteristic information may be characteristic information of a plug-in dynamic library related to the client body constituting the client
  • the client body may constitute
  • the main component of the client, the plug-in dynamic library can encapsulate module functions, and can be decoupled from the plug-in dynamic library with other module functions, that is, reduce the coupling effect between functional modules.
  • the input list mainly includes a main input box group for the user to select and input the first characteristic information
  • the main input box group may also include multiple first input boxes, and different first input boxes are associated with different
  • the first feature information can be related feature information of the main body that constitutes the client, such as the main body name, main body version number, and first file signature.
  • the first input box can be used to input the subject name, that is, the first input box is associated with at least one subject name for the user to select and input; the other first input box can be used to enter the subject version number, that is, the The first input box is associated with at least one main body version number for the user to select and input; there is also a first input box that can be used to input the signature of the first file, that is, the first input box is associated with at least one first file signature to For the user to choose and input; of course, each of the remaining first input boxes can correspondingly input different characteristic information related to the main body of the client.
  • the input list may also include at least one secondary input box group for the user to select and input the second characteristic information, and each secondary input box group may include multiple second input boxes, and different second input boxes are associated with Different second feature information; specifically, the second feature information can be related feature information of the plug-in dynamic library that constitutes the client, such as the plug-in name, plug-in version number, and the second file signature.
  • One of the second input boxes can be used to input the name of the plug-in, that is, the second input box is associated with at least one plug-in name for the user to select and input; the other second input box can be used to enter the plug-in version number , That is, the second input box is associated with at least one plug-in version number for the user to select and input; there is also a second input box that can be used to input the second file signature, that is, the second input box is associated with at least one second The file signature is for the user to select and input; of course, each of the remaining second input boxes can correspondingly input different feature information related to the plug-in of the client.
  • one slave input box group can correspond to one plug-in dynamic library, that is, the second feature information filled in different slave input box groups is the feature information of the corresponding plug-in dynamic library.
  • the management server may parse the configuration file and display the input list in the configuration file on the display interface for the user to select.
  • Step S103 If the first feature information and the second feature information that are selected and input in the main input box group and the input box group submitted by the user are received, it is determined whether there is a preset plug-in database that corresponds to the first feature information. Matching main installation package.
  • the user can input the corresponding first characteristic information and second characteristic information in the main input box group and the slave input box group of the input list, if the management server receives the first characteristic information and the second characteristic information.
  • the first feature information needs to be associated with the main body installation package pre-stored in the preset plug-in database The characteristic information is matched.
  • the first feature information includes the subject name, the subject version number, and the first file signature
  • the step S103 may specifically include steps S201 to S204.
  • Step S201 Determine whether there is a main body installation package whose name matches the main body name in the first feature information in the preset plug-in database.
  • multiple main body installation packages can be stored in the preset plug-in database.
  • the management server needs to determine whether the name of the main body installation package matches the main body name in the first feature information that is selected and input by the user. Facilitate the corresponding operation.
  • step S104 can be executed accordingly.
  • Step S202 If there is a main body installation package whose name matches the main body name in the first feature information in the preset plug-in database, it is determined whether the version number of the main body installation package matches the main body version in the first feature information Match numbers.
  • the user has made a corresponding selection of the main body version number.
  • the management server After receiving the main body version number in the first feature information input by the user, the management server needs to compare and match it with the version number of the main body installation package obtained. . If the two do not match, it is determined that there is no main body installation package matching the first feature information in the preset plug-in database.
  • the user downloads the corresponding main body installation package online according to the first characteristic information. If the download is successful, it indicates that the main body installation package matches the first characteristic information, and step S104 can be executed accordingly.
  • Step S203 If the version number of the main body installation package matches the main body version number in the first feature information, it is determined whether the file signature of the main body installation package is the same as the first file signature in the first feature information.
  • the main installation package includes a file signature for verifying whether the installation package is complete and without byte changes. At this time, it is necessary to determine whether the file signature is the same as the first file signature in the first characteristic information. If they are different, it indicates that there is a problem with the main body installation package, and it is determined that there is no main body installation package matching the first feature information in the preset plug-in database. At the same time, it can also be shown that the user downloads the corresponding main body installation package online according to the first characteristic information. If the download is successful, it indicates that the main body installation package matches the first characteristic information, and step S104 can be executed accordingly.
  • the first file signature may be an MD5 value.
  • Step S204 If the file signature of the main body installation package is the same as the main body version number in the first feature information, it is determined that there is a main body installation package matching the first feature information in the preset plug-in database.
  • the file signature of the main body installation package is the same as the main body version number in the first feature information, it indicates that the main body installation package is the main body installation package of the client that the user needs to install, that is, the preset plug-in can be determined There is a main body installation package matching the first feature information in the database.
  • Step S104 If there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and determine whether there is a preset plug-in database that matches the second feature information.
  • the plugin dynamic library If there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and determine whether there is a preset plug-in database that matches the second feature information.
  • the management server also needs to further determine whether there is a plug-in dynamic library that meets the second characteristic information selected and input by the user in the preset plug-in database.
  • the second feature information includes the plug-in name, the plug-in version number, and the second file signature
  • the step S104 may specifically include steps S301 to S304.
  • Step S301 Determine whether there is a plug-in dynamic library whose name matches the plug-in name in the second characteristic information in the preset plug-in database.
  • the preset plug-in database can store multiple plug-in dynamic libraries that can realize different functions.
  • the management server needs to determine whether there is the name of the plug-in dynamic library and the plug-in in the second feature information received by the user. The names match to facilitate corresponding operations. If there is no plug-in dynamic library whose name matches the plug-in name in the second feature information in the preset plug-in database, then it is determined that there is no plug-in dynamic that matches the second feature information in the preset plug-in database. Library.
  • the user downloads the corresponding plug-in dynamic library online according to the second feature information. If the download is successful, it indicates that the plug-in dynamic library matches the second feature information, and step S105 can be executed accordingly.
  • Step S302 If there is a plug-in dynamic library whose name matches the plug-in name in the second feature information in the preset plug-in database, determine whether the version number of the plug-in dynamic library is the same as the plug-in version in the second feature information Match numbers.
  • the user has made a corresponding selection of the plug-in version number.
  • the management server After receiving the plug-in version number in the second feature information input by the user, the management server needs to compare and match it with the version number of the obtained plug-in dynamic library. . If the two do not match, it is determined that there is no plug-in dynamic library matching the second feature information in the preset plug-in database. At the same time, it can also show that the user downloads the corresponding plug-in dynamic library online according to the second feature information. If the download is successful, it indicates that the plug-in dynamic library matches the second feature information, and step S105 can be executed accordingly.
  • Step S303 If the version number of the plug-in dynamic library matches the plug-in version number in the second feature information, it is determined whether the file signature of the plug-in dynamic library is the same as the second file signature in the second feature information.
  • the plug-in dynamic library includes a file signature for verifying whether the dynamic library is complete and without byte changes. At this time, it is necessary to determine whether the file signature is the same as the second file signature in the second characteristic information. If they are different, it indicates that there is a problem with the plug-in dynamic inventory, and it is determined that there is no plug-in dynamic library matching the second feature information in the preset plug-in database. At the same time, it can also be shown that the user downloads the corresponding plug-in dynamic library online according to the second feature information. If the download is successful, it indicates that the plug-in dynamic library matches the second feature information, and step S105 can be executed accordingly.
  • Step S304 If the file signature of the plug-in dynamic library is the same as the plug-in version number in the second feature information, it is determined that there is a plug-in dynamic library matching the second feature information in the preset plug-in database.
  • the file signature of the plug-in dynamic library is the same as the plug-in version number in the second feature information, it indicates that the plug-in dynamic library is the plug-in dynamic library of the client that the user needs to install, that is, the preset plug-in database can be determined There is a plug-in dynamic library matching the second feature information.
  • Step S105 If there is a plug-in dynamic library matching the second feature information in the preset plug-in database, call the plug-in dynamic library matching the second feature information.
  • the plug-in dynamic library in order to build a complete client, can directly call the plug-in dynamic library matching the second feature information.
  • Step S106 Analyze the main body installation package to determine the corresponding client main body, and associate the plug-in dynamic library with the client main body through a preset standard interface to obtain the corresponding client.
  • the management server can parse the invoked main body installation package to determine the client main body.
  • the client main body serves as the basis for the plug-in dynamic library and can realize the communication interaction between the two through a preset standard interface.
  • the plug-in dynamic library and the client main body can exchange information through a preset standard interface.
  • the client main body can log in the user's account information, and can share the account information with the plug-in dynamic library to facilitate When users use the plug-in dynamic library, they can read the data related to their account information, and finally realize the flexible call of the client, which improves the user experience.
  • the WeChat client is the main body of the client, and WeChat Moments can be used as one of the plug-in dynamic libraries.
  • WeChat Moments can be used as one of the plug-in dynamic libraries.
  • the plug-in dynamic library After the WeChat client loads the plug-in dynamic library, if you need to use the plug-in to view Moments.
  • the corresponding plug-in dynamic library of Moments needs to determine the login information of the WeChat user before it can go to the management server to query Moments information.
  • the setting of the standard interface can realize that WeChat Moments can obtain WeChat users from WeChat clients.
  • the standard interface can be a Json string or other custom format.
  • the method may further include the following steps after step S103:
  • Step S107 If there is no main body installation package matching the first feature information in the preset plug-in database, generate a download prompt box to prompt the user to download the corresponding main body installation package online according to the first feature information; Step S108, if The download instruction sent by the user is detected, and the main installation package to be downloaded is put into the preset plug-in database for storage.
  • a download prompt box can be generated, and the download prompt box can prompt the user to download the corresponding main body online according to the first feature information
  • the installation package, the main installation package at this time is related and matched with the first feature information.
  • the management server detects the download instruction sent by the user, it can perform the corresponding download, and put the downloaded main installation package into the preset plug-in database for storage, so that the management server can make corresponding calls.
  • the method may further include the following steps after step S104:
  • Step S109 if there is no plug-in dynamic library matching the second feature information in the preset plug-in database, generate a download prompt box to prompt the user to download the corresponding plug-in dynamic library online according to the second feature information; step S110, if The download instruction sent by the user is detected, and the plug-in dynamic library to be downloaded is put into the preset plug-in database for storage.
  • a download prompt box can be generated, and the download prompt box can prompt the user to download the corresponding plug-in online according to the second feature information Dynamic library, the plug-in dynamic library at this time is related and matched with the second feature information.
  • the management server detects the download instruction sent by the user, it can perform the corresponding download, and put the downloaded plug-in dynamic library into the preset plug-in database for storage, so that the management server can make corresponding calls.
  • the present application can effectively reduce the complexity of client development, reduce the degree of coupling between functional modules, and can also reduce the traffic required for updates, and can also hot-load plug-ins to improve user experience.
  • FIG. 4 is a schematic flowchart of a client plug-in implementation method provided by another embodiment of the present application.
  • the steps of the method include steps S401 to S412.
  • steps S401 to S412. The relevant explanations and detailed descriptions of steps similar to steps S101-S110 in the foregoing embodiment will not be repeated here, and the following detailed descriptions will be provided for the steps added in this embodiment.
  • Step S401 If a client generation instruction is detected, a preset configuration file is obtained according to the client generation instruction.
  • Step S402 Parse the configuration file to display a corresponding input list on the display interface;
  • the input list includes a main input box group and at least one slave input box group, the main input box group includes a plurality of first input boxes , And different first input boxes are associated with different types of first feature information for optional input; each sub-input box group includes multiple second input boxes, and different second input boxes are associated with different Is optional to enter the second feature information.
  • Step S403 If the first feature information and the second feature information that are selected and input in the main input box group and the input box group submitted by the user are received, it is determined whether there is a preset plug-in database that is similar to the first feature information. Matching main installation package.
  • Step S404 If there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and determine whether there is a preset plug-in database that matches the second feature information.
  • the plugin dynamic library If there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and determine whether there is a preset plug-in database that matches the second feature information.
  • Step S405 If there is a plug-in dynamic library matching the second feature information in the preset plug-in database, call the plug-in dynamic library matching the second feature information.
  • Step S406 parse the main body installation package to determine the corresponding client main body, and associate the plug-in dynamic library with the client main body through a preset standard interface to obtain the corresponding client.
  • Step S407 If there is no main body installation package matching the first feature information in the preset plug-in database, a download prompt box is generated to prompt the user to download the corresponding main body installation package online according to the first feature information.
  • step S408 if the download instruction sent by the user is detected, the main body installation package to be downloaded is put into the preset plug-in database for storage.
  • Step S409 If there is no plug-in dynamic library matching the second feature information in the preset plug-in database, a download prompt box is generated to prompt the user to download the corresponding plug-in dynamic library online according to the second feature information.
  • step S410 if the download instruction sent by the user is detected, the plug-in dynamic library to be downloaded is put into a preset plug-in database for storage.
  • Step S411 if the client edit instruction is detected, read and parse the current configuration file to display the current input list on the display interface.
  • the client editing instruction refers to an instruction for the user to edit an existing client, which can realize real-time maintenance and update of the client.
  • Client edit instruction management server can directly read the current configuration file of the client after receiving the client edit instruction sent by the user, and display the input list in the current configuration file on the display interface for the user to edit accordingly operating.
  • step S412 if an operation instruction on the current input list submitted by the user is received, corresponding changes are made to the current input list to obtain a new client.
  • the management server can receive the operation instructions for the current input list submitted by the user, that is, the user can directly perform corresponding operations on the current input list according to their own needs on the display interface and generate corresponding operation instructions. That is, the current input can be changed accordingly to obtain a new client.
  • the operation instruction may be a plug-in addition instruction, a plug-in deletion instruction, or an update instruction.
  • the programs can be stored in a computer-readable storage medium.
  • the storage medium can be a magnetic disk, an optical disk, a read-only storage memory (Read-Only Memory, ROM) etc.
  • the device 100 includes: a file acquisition unit 101, a file analysis unit 102, and an installation package judgment unit 103.
  • the file obtaining unit 101 is configured to obtain a preset configuration file according to the client generating instruction if the client generating instruction is detected.
  • the file parsing unit 102 is configured to parse the configuration file to display a corresponding input list on the display interface; the input list includes a main input box group and at least one slave input box group, and the main input box group includes multiple The first input box, and different first input boxes are associated with different types of first feature information that can be selected for input; each sub-input box group includes multiple second input boxes, and different second input boxes Both are associated with different optional input second characteristic information.
  • the installation package judging unit 103 is configured to judge whether the preset plug-in database exists in the main input box group and the second characteristic information selected and inputted from the input box group and the second characteristic information submitted by the user.
  • the main body installation package that matches the first feature information.
  • the first feature information includes the subject name, the subject version number, and the first file signature
  • the installation package determination unit 103 may specifically include a first name determination unit 201, A version number judgment unit 202, a first signature judgment unit 203, and a first judgment unit 204.
  • the first name determining unit 201 is configured to determine whether there is a main body installation package whose name matches the main body name in the first characteristic information in the preset plug-in database.
  • the first version number judging unit 202 is configured to determine whether a main body installation package whose name matches the main body name in the first feature information exists in the preset plug-in database, and whether the version number of the main body installation package is the same as that of the main body installation package. The version number of the main body in the first feature information matches.
  • the first signature determining unit 203 is configured to determine whether the file signature of the main body installation package matches the first characteristic information if the version number of the main body installation package matches the main body version number in the first characteristic information The signature of the first file in is the same.
  • the first determining unit 204 is configured to determine that if the file signature of the main body installation package is the same as the main body version number in the first feature information, determine that there is a plug-in database that matches the first feature information.
  • the main installation package is configured to determine that if the file signature of the main body installation package is the same as the main body version number in the first feature information, determine that there is a plug-in database that matches the first feature information.
  • the dynamic library judgment unit 104 is configured to, if there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and judge whether the preset plug-in database exists 2. Plug-in dynamic library with matching feature information.
  • the second feature information includes a plug-in name, a plug-in version number, and a second file signature.
  • the dynamic library judgment unit 104 may specifically include a second name judgment unit 301 and a second file signature.
  • the second version number judgment unit 302, the second signature judgment unit 303, and the second judgment unit 304 may specifically include a second name judgment unit 301 and a second file signature.
  • the second name judging unit 301 is configured to judge whether there is a plug-in dynamic library whose name matches the plug-in name in the second characteristic information in the preset plug-in database.
  • the second version number determining unit 302 is configured to determine whether a plug-in dynamic library whose name matches the plug-in name in the second characteristic information exists in the preset plug-in database, and whether the version number of the plug-in dynamic library is the same as that of the plug-in dynamic library. The plug-in version number in the second feature information matches.
  • the second signature judging unit 303 is configured to determine whether the file signature of the plug-in dynamic library matches the second feature information if the version number of the plug-in dynamic library matches the plug-in version number in the second feature information The signature of the second file in is the same.
  • the second determining unit 304 is configured to determine that if the file signature of the plug-in dynamic library is the same as the plug-in version number in the second feature information, determine that there is a plug-in database that matches the second feature information. Plug-in dynamic library.
  • the dynamic library calling unit 105 is configured to, if there is a plugin dynamic library matching the second feature information in the preset plugin database, call the plugin dynamic library matching the second feature information.
  • the client processing unit 106 is configured to parse the main body installation package to determine the corresponding client main body, and associate the plug-in dynamic library with the client main body through a preset standard interface to obtain the corresponding client.
  • the device 100 may further include the following units:
  • the download prompt unit 107 is configured to generate a download prompt box to prompt the user to download the corresponding main body installation package online according to the first characteristic information if there is no main body installation package matching the first feature information in the preset plug-in database;
  • the installation package storage unit 108 is configured to store the main body installation package to be downloaded into a preset plug-in database if the download instruction sent by the user is detected.
  • the download prompt unit 107 of the device 100 is further configured to generate a download prompt box to prompt the user to follow if there is no plug-in dynamic library matching the second feature information in the preset plug-in database
  • the second feature information downloads the corresponding plug-in dynamic library online.
  • the installation package storage unit 108 of the device 100 is further configured to store the plug-in dynamic library to be downloaded into a preset plug-in database if the download instruction sent by the user is detected. Wherein, if there is no plug-in dynamic library matching the second feature information in the preset plug-in database, a download prompt box can be generated, and the download prompt box can prompt the user to download the corresponding plug-in online according to the second feature information Dynamic library.
  • the device 400 includes: a file acquisition unit 401, a file analysis unit 402, and an installation package
  • the file obtaining unit 401 is configured to obtain a preset configuration file according to the client generating instruction if the client generating instruction is detected.
  • the file parsing unit 402 is configured to parse the configuration file to display a corresponding input list on a display interface;
  • the input list includes a main input box group and at least one slave input box group, the main input box group includes Multiple first input boxes, and different first input boxes are associated with different types of first feature information for optional input;
  • each sub-input box group includes multiple second input boxes, and different second input boxes
  • the input boxes are all associated with different optional input second characteristic information.
  • the installation package judging unit 403 is configured to judge whether there is a plug-in database with the first feature information and the second feature information submitted by the user in the main input box group and the input box group.
  • the main body installation package that matches the first feature information.
  • the dynamic library judging unit 404 is configured to, if there is a main body installation package matching the first feature information in the preset plug-in database, obtain the main body installation package and judge whether the preset plug-in database exists or not.
  • the dynamic library calling unit 405 is configured to call a plugin dynamic library matching the second feature information if there is a plug-in dynamic library matching the second feature information in the preset plug-in database.
  • the client processing unit 406 is configured to parse the main body installation package to determine the corresponding client main body, and associate the plug-in dynamic library with the client main body through a preset standard interface to obtain the corresponding client.
  • the download prompt unit 407 is configured to, if there is no main body installation package matching the first feature information in the preset plug-in database, generate a download prompt box to prompt the user to download the corresponding main body installation online according to the first feature information package.
  • the installation package storage unit 408 is configured to store the main installation package to be downloaded into a preset plug-in database if a download instruction sent by the user is detected.
  • the download prompt unit 407 of the device 400 is further configured to generate a download prompt box to prompt the user to follow if there is no plug-in dynamic library matching the second feature information in the preset plug-in database
  • the second feature information downloads the corresponding plug-in dynamic library online.
  • the installation package storage unit 408 of the device 400 is further configured to store the plug-in dynamic library to be downloaded into a preset plug-in database if the download instruction sent by the user is detected.
  • the file reading unit 411 is configured to read and parse the current configuration file to display the current input list on the display interface if the client edit instruction is detected.
  • the modification unit 412 is configured to, if an operation instruction on the current input list submitted by the user is received, make corresponding changes to the current input list to obtain a new client.
  • the foregoing client plug-in implementation device may be implemented in a form of computer readable instructions, and the computer readable instructions may run on the computer device as shown in FIG. 9.
  • FIG. 9 is a schematic diagram of the structural composition of a computer device of this application.
  • the device can be a server, where the server can be an independent server or a server cluster composed of multiple servers.
  • the computer device 500 includes a processor 502, a memory, an internal memory 504, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and the internal memory 504.
  • the non-volatile storage medium 503 can store an operating system 5031 and computer-readable instructions 5032.
  • the processor 502 can execute a client plug-in implementation method.
  • the processor 502 is used to provide calculation and control capabilities, and support the operation of the entire computer device 500.
  • the internal memory 504 provides an environment for the operation of the computer-readable instructions 5032 in the non-volatile storage medium 503.
  • the processor 502 can execute a client plug-in implementation. method.
  • the network interface 505 is used for network communication with other devices.
  • FIG. 9 is only a block diagram of part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied.
  • the specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
  • the processor 502 is configured to run computer-readable instructions 5032 stored in the memory to implement all the steps in the foregoing client plug-in implementation method.
  • the processor 502 may be a central processing unit (Central Processing Unit, CPU), the processor 502 may also be other general-purpose processors or digital signal processors (Digital Signal Processor, DSP), Application Specific Integrated Circuit (ASIC), ready-made programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
  • the memory may include an internal storage unit of the computing device, such as an internal memory, for example, a hard disk or memory of the computing device.
  • the memory may also include an external storage device of the computing device, such as a plug-in hard disk equipped on the computing device, a smart memory card (Smart Media Card, SMC), Secure Digital (Secure Digital, SD) card, flash card (Flash Card), etc.
  • the memory may also include both an internal storage unit of the computing device and an external storage device.
  • the memory is used to store the computer-readable instructions and other instructions and data required by the computing device.
  • the memory can also be used to temporarily store data that has been output or will be output.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Channel (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
  • the storage medium may be a computer-readable storage medium.
  • the storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes all the steps in the client plug-in implementation method.
  • the storage medium may be a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk and other computer-readable storage media that can store program codes.
  • ROM Read-Only Memory
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of each unit is only a logical function division, and there may be other division methods in actual implementation.
  • multiple units or components can be combined or integrated into another system, or some features can be omitted or not implemented.
  • the steps in the method of the embodiment of the present application can be adjusted, merged, and deleted in order according to actual needs.
  • the units in the devices in the embodiments of the present application may be combined, divided, and deleted according to actual needs.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer non-volatile readable storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium It includes several instructions to make a computer device (which may be a personal computer, a terminal, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks, and other media that can store computer-readable instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种客户端插件化实现方法、装置、计算机设备及存储介质,其中所述方法包括若检测到客户端生成指令,根据客户端生成指令获取预设的配置文件;解析配置文件以在显示界面上展示相应的输入列表;判断预设的插件数据库中是否存在与第一特征信息相匹配的主体安装包;若是,获取主体安装包并判断预设的插件数据库中是否存在与第二特征信息相匹配的插件动态库;若是,调用与第二特征信息相匹配的插件动态库;解析主体安装包以确定相应的客户端主体,并通过预设标准接口将插件动态库与客户端主体进行关联以得到相应的客户端。本申请能快速实现客户端的开发,提高用户的使用体验度。

Description

客户端插件化实现方法、装置、计算机设备及存储介质
本申请要求于2019年05月22日提交中国专利局、申请号为201910428936.7、申请名称为“客户端插件化实现方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,尤其涉及一种客户端插件化实现方法、装置、计算机设备及存储介质。
背景技术
客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。目前业内客户端的开发包的内容多且臃肿,同时各个功能模块之间的耦合较为严重,不便于用户使用。
技术问题
有鉴于此,本申请实施例提供一种客户端插件化实现方法、装置、计算机设备及存储介质,能够快速实现客户端的开发,提高用户的使用体验度。
技术解决方案
第一方面,本申请实施例提供了一种客户端插件化实现方法,该方法包括:
若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
第二方面,本申请实施例还提供了一种客户端插件化实现装置,该装置包括:
文件获取单元,用于若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
文件解析单元,用于解析所述配置文件以在显示界面上展示相应的输入列表,所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息,每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
安装包判断单元,用于若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
动态库判断单元,用于若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
动态库调用单元,用于若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
客户端处理单元,用于解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
第三方面,本申请实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机可读指令,所述计算机可读指令当被处理器执行时可实现上述方法。
有益效果
本申请实施例提供了一种客户端插件化实现方法、装置、计算机设备及存储介质。本申请实施例由于用户能够根据需求对客户端的功能插件进行相应的编辑,同时通过统一的标准接口进行数据交互,从而实现插件之间的信息交换,以便于快速开发客户端,减少各个功能模块之间的耦合;另外还可以根据用户实际需求进行功能插件的增加、删除以及更新等其他相应操作,提高了用户的使用体验度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种客户端插件化实现方法的流程示意图;
图1a是本申请实施例提供的一种客户端插件化实现方法的应用场景示意图;
图2是本申请实施例提供的一种客户端插件化实现方法的子流程示意图;
图3是本申请实施例提供的一种客户端插件化实现方法的子流程示意图;
图4是本申请另一实施例提供的一种客户端插件化实现方法的流程示意图;
图5是本申请实施例提供的一种客户端插件化实现装置的示意性框图;
图6是本申请实施例提供的一种客户端插件化实现装置的安装包判断单元的示意性框图;
图7是本申请实施例提供的一种客户端插件化实现装置的动态库判断单元
的示意性框图;
图8是本申请另一实施例提供的一种客户端插件化实现装置的示意性框图;
图9是本申请实施例提供的一种计算机设备结构组成示意图。
本发明的实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1和图1a,图1是本申请实施例提供的一种客户端插件化实现方法的示意流程图,图1a是本申请实施例中客户端插件化实现方法的场景示意图。该客户端插件化实现方法应用于管理服务器10中。该管理服务器10在接收到客户端生成指令后,根据该客户端生成指令确定相应的配置文件,以便于用户20根据需求对客户端的功能插件进行相应的编辑,同时通过统一的标准接口进行数据交互,从而实现功能插件之间的信息交换;同时还可以根据用户实际需求进行功能插件的增加、删除以及更新等其他相应操作,提高了用户的使用体验度。以下将以管理服务器的角度详细地介绍该客户端插件化实现方法的各个步骤。
请参阅图1,图1是本申请实施例提供的一种客户端插件化实现方法的示意流程图。如图1所示,该方法的步骤包括步骤S101~S106。
步骤S101,若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件。
在本实施例中,客户端的构建和生成可以根据用户的需求进行相应的设置,主要是当管理服务器检测到用户选择发送的客户端生成指令时,可以根据该客户端生成指令调用与该客户端生成指令相应的预先设置好的配置文件。通过对该配置文件的数据信息的补充,能够为客户端配置所需的功能模块,且功能模块可以是构成客户端的整体框架的客户端主体,以及实现不同功能的插件动态库,通过将插件动态库安插在客户端主体上,用于既可以使用该插件动态库所具备的功能。
步骤S102,解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息。
在本实施例中,所述配置文件中包括一个可供用户选择输入客户端的功能模块相关的数据信息的输入列表。其中,所述第一特征信息可以为构成客户端的客户端主体的特征信息,所述第二特征信息为构成客户端的与客户端主体相关的插件动态库的特征信息,所述客户端主体是构成客户端的主要构成部分,所述插件动态库能够封装模块功能,并能和具备其他模块功能的插件动态库间解耦,即减少功能模块之间的耦合作用。该输入列表主要是包括有一个供用户选择输入的第一特征信息的主输入框组,并且该主输入框组还可以包括有多个第一输入框,不同的第一输入框是关联有不同的第一特征信息的;具体的,第一特征信息可以是构成客户端的主体的相关特征信息,如主体名称、主体版本号以及第一文件签名,一般情况下,主输入框组中的其中一个第一输入框可以是用于输入主体名称的,即该第一输入框关联有至少一个主体名称以供用户选择输入;另一个而第一输入框可以是用于输入主体版本号的,即该第一输入框关联有至少一个主体版本号以供用户选择输入;还有一个第一输入框可以是用于输入第一文件签名的,即该第一输入框关联有至少一个第一文件签名以供用户选择输入;当然,其余的每个第一输入框均可以对应地输入跟客户端的主体相关的不同的特征信息。
该输入列表还可以包括至少一个供用户选择输入的第二特征信息的从输入框组,并且每个从输入框组均可以包括有多个第二输入框,不同的第二输入框是关联有不同的第二特征信息的;具体的,第二特征信息可以是构成客户端的插件动态库的相关特征信息,如插件名称、插件版本号以及第二文件签名,一般情况下,从输入框组中的其中一个第二输入框可以是用于输入插件名称的,即该第二输入框关联有至少一个插件名称以供用户选择输入;另一个而第二输入框可以是用于输入插件版本号的,即该第二输入框关联有至少一个插件版本号以供用户选择输入;还有一个第二输入框可以是用于输入第二文件签名的,即该第二输入框关联有至少一个第二文件签名以供用户选择输入;当然,其余的每个第二输入框均可以对应地输入跟客户端的插件相关的不同的特征信息。另外,一个从输入框组可以对应一个插件动态库,即不同的从输入框组中填写的第二特征信息为对应的插件动态库的特征信息。
故,为了便于用户选择输入相关的特征信息,管理服务器可以解析所述配置文件,并将配置文件中的输入列表展示在显示界面上,以供用户进行选择。
步骤S103,若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包。
在本实施例中,用户可以在输入列表的主输入框组和从输入框组中分别输入相应的第一特征信息以及第二特征信息,若管理服务器接收到上述的第一特征信息和第二特征信息后,为了能够从预设的插件数据库中有效确定跟第一特征信息相匹配的主体安装包,需要将第一特征信息去与预设的插件数据库中预先存储的主体安装包所关联的特征信息进行匹配。
在另一实施例中,如图2所示,所述第一特征信息包括主体名称、主体版本号以及第一文件签名,所述步骤S103具体可以包括步骤S201~S204。
步骤S201,判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包。
其中,预设的插件数据库中可以存储有多个主体安装包,此时管理服务器需要确定是否有主体安装包的名称与接收到的用户选择输入的第一特征信息中的主体名称相匹配,从而便于进行相应的操作。
另外,若预设的插件数据库中不存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,则判定预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包。同时,还可以示用户根据第一特征信息进行联网下载相应的主体安装包,若下载成功则表明该主体安装包是与第一特征信息相匹配的,此时可相应地执行步骤S104。
步骤S202,若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配。
其中,用户已对主体版本号进行相应的选择,管理服务器在接收到用户选择输入的第一特征信息中的主体版本号后,需要将其与获取的主体安装包的版本号进行相应的对比匹配。若两者之间不相匹配,则判定预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包。同时,还可以示用户根据第一特征信息进行联网下载相应的主体安装包,若下载成功则表明该主体安装包是与第一特征信息相匹配的,此时可相应地执行步骤S104。
步骤S203,若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同。
其中,该主体安装包中包括用于验证该安装包是否完整且无字节变动情况的文件签名,此时需要判断该文件签名是否与第一特征信息中的第一文件签名相同。若不同则表明该主体安装包存在问题,则判定预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包。同时,还可以示用户根据第一特征信息进行联网下载相应的主体安装包,若下载成功则表明该主体安装包是与第一特征信息相匹配的,此时可相应地执行步骤S104。
作为可选的,该第一文件签名可以是MD5值。
步骤S204,若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
其中,若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,则表明该主体安装包是用户所需要安装的客户端的主体的安装包,即可以判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
步骤S104,若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库。
在本实施例中,若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,则表明此时可以获取到用于安装客户端主体的安装包,为了完善客户端的功能,管理服务器还需要进一步判断预设的插件数据库中是否存在符合用户选择输入的第二特征信息的插件动态库。
在另一实施例中,如图3所示,所述第二特征信息包括插件名称、插件版本号以及第二文件签名,所述步骤S104具体可以包括步骤S301~S304。
步骤S301,判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库。
其中,预设的插件数据库中可以存储有多个能够实现不同功能的插件动态库,此时管理服务器需要确定是否有插件动态库的名称与接收到的用户选择输入的第二特征信息中的插件名称相匹配,从而便于进行相应的操作。若预设的插件数据库中不存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,则判定预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库。同时,还可以示用户根据第二特征信息进行联网下载相应的插件动态库,若下载成功则表明该插件动态库是与第二特征信息相匹配的,此时可相应地执行步骤S105。
步骤S302,若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配。
其中,用户已对插件版本号进行相应的选择,管理服务器在接收到用户选择输入的第二特征信息中的插件版本号后,需要将其与获取的插件动态库的版本号进行相应的对比匹配。若两者之间不相匹配,则判定预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库。同时,还可以示用户根据第二特征信息进行联网下载相应的插件动态库,若下载成功则表明该插件动态库是与第二特征信息相匹配的,此时可相应地执行步骤S105。
步骤S303,若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同。
其中,该插件动态库中包括用于验证该动态库是否完整且无字节变动情况的文件签名,此时需要判断该文件签名是否与第二特征信息中的第二文件签名相同。若不同则表明该插件动态库存在问题,则判定预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库。同时,还可以示用户根据第二特征信息进行联网下载相应的插件动态库,若下载成功则表明该插件动态库是与第二特征信息相匹配的,此时可相应地执行步骤S105。
步骤S304,若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
其中,若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,则表明该插件动态库是用户所需要安装的客户端的插件动态库,即可以判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
步骤S105,若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库。
在本实施例中,若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,则表明该预设的插件数据库中存在与用于选择输入的第二特征信息相关的插件动态库,为了组建完整的客户端,可以将直接调用与所述第二特征信息相匹配的插件动态库。
步骤S106,解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
在本实施例中,管理服务器可以解析调用的主体安装包,从而确定客户端主体,客户端主体作为承接插件动态库的基础,可以通过预先设置的标准接口实现两者之间的通信交互。其中,所述插件动态库与客户端主体之间能够通过预设标准接口进行信息交互,具体的,客户端主体可以登录用户的账号信息,并能够将该账号信息跟插件动态库进行共享从而便于用户使用插件动态库时,能够读取到与其账号信息相关的数据,并最终实现客户端的灵活调用,提高了用户的使用体验度。
例如,当客户端为微信客户端时,微信客户端作为客户端主体,而微信朋友圈可以作为其中一个插件动态库存在,当微信客户端加载了这个插件动态库之后,若需要使用该插件查看朋友圈,此时朋友圈相应的插件动态库需要确定该微信用户的登录信息后才能够去管理服务器查询朋友圈信息,此时标准接口的设置即能够实现微信朋友圈从微信客户端获取微信用户的登录信息等。其中标准接口可以是Json字符串或者其他自定义格式。
在另一实施例中,所述方法的步骤S103之后还可以包括以下步骤:
步骤S107,若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;步骤S108,若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
其中,若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,则可以生成下载提示框,该下载提示框能够提示用户去根据第一特征信息联网下载相应的主体安装包,此时的主体安装包则是与第一特征信息相关匹配的。同时,当管理服务器检测到用户发送的下载指令后,可进行相应的下载,并将下载的主体安装包放入预设的插件数据库中进行存储,以供管理服务器进行相应的调用。当然,如果在无联网的情况下,也可以直接返回步骤S101,再次进行相应的检测。
在另一实施例中,所述方法的步骤S104之后还可以包括以下步骤:
步骤S109,若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,生成下载提示框以提示用户根据第二特征信息联网下载相应的插件动态库;步骤S110,若检测到用户发送的下载指令,将所需下载的插件动态库放入预设的插件数据库中进行存储。
其中,若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,则可以生成下载提示框,该下载提示框能够提示用户去根据第二特征信息联网下载相应的插件动态库,此时的插件动态库则是与第二特征信息相关匹配的。同时,当管理服务器检测到用户发送的下载指令后,可进行相应的下载,并将下载的插件动态库放入预设的插件数据库中进行存储,以供管理服务器进行相应的调用。当然,如果在无联网的情况下,也可以直接返回步骤S101,再次进行相应的检测。
综上,本申请能够有效减少客户端开发的复杂度,减少功能模块之间的耦合程度,还能够减少更新所需要的流量,同时还能够热加载插件,提高用户的使用体验度。
请参阅图4,图4是本申请另一实施例提供的一种客户端插件化实现方法的示意流程图。如图4所示,该方法的步骤包括步骤S401~S412。其中与上述实施例中的步骤S101-S110类似的步骤的相关解释和详细说明在此不再赘述,下面详细说明的为本实施例中所增加的步骤。
步骤S401,若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件。
步骤S402,解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息。
步骤S403,若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包。
步骤S404,若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库。
步骤S405,若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库。
步骤S406,解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
步骤S407,若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包。
步骤S408,若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
步骤S409,若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,生成下载提示框以提示用户根据第二特征信息联网下载相应的插件动态库。
步骤S410,若检测到用户发送的下载指令,将所需下载的插件动态库放入预设的插件数据库中进行存储。
步骤S411,若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表。
其中,客户端编辑指令是指用户对已有的客户端进行编辑的指令,能够实现对客户端的实时维护和更新。客户端编辑指令管理服务器在接收到用户发送的客户端编辑指令后,可以直接读取客户端的当前的配置文件,并在显示界面上显示当前的配置文件中的输入列表以供用户进行相应的编辑操作。
步骤S412,若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
其中,管理服务器能够接收用户提交的对当前的输入列表的操作指令,即用户能够在显示界面上根据自身需求对当前的输入列表直接进行相应的操作并生成相应的操作指令,管理服务器根据操作指令即可以对当前的输入进行相应的更该,从而得到新的客户端。具体的,该操作指令可以是指插件增加指令,也可以是指插件删除指令,还可以是更新指令。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图5,对应上述一种客户端插件化实现方法,本申请实施例还提出一种客户端插件化实现装置,该装置100包括:文件获取单元101、文件解析单元102、安装包判断单元103、动态库判断单元104、动态库调用单元105以及客户端处理单元106。
文件获取单元101,用于若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件。
文件解析单元102,用于解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息。
安装包判断单元103,用于若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包。
在另一实施例中,如图6所示,所述第一特征信息包括主体名称、主体版本号以及第一文件签名,所述安装包判断单元103具体可以包括第一名称判断单元201、第一版本号判断单元202、第一签名判断单元203以及第一判定单元204。
所述第一名称判断单元201,用于判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包。
所述第一版本号判断单元202,用于若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配。
所述第一签名判断单元203,用于若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同。
所述第一判定单元204,用于若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
动态库判断单元104,用于若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库。
在另一实施例中,如图7所示,所述第二特征信息包括插件名称、插件版本号以及第二文件签名,所述动态库判断单元104具体可以包括第二名称判断单元301、第二版本号判断单元302、第二签名判断单元303以及第二判定单元304。
所述第二名称判断单元301,用于判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库。
所述第二版本号判断单元302,用于若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配。
所述第二签名判断单元303,用于若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同。
所述第二判定单元304,用于若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
动态库调用单元105,用于若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库。
客户端处理单元106,用于解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
在另一实施例中,所述装置100还可以包括以下单元:
下载提示单元107,用于若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;安装包存储单元108,用于若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
在另一实施例中,所述装置100的下载提示单元107还用于若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,生成下载提示框以提示用户根据第二特征信息联网下载相应的插件动态库。所述装置100的安装包存储单元108还用于若检测到用户发送的下载指令,将所需下载的插件动态库放入预设的插件数据库中进行存储。其中,若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,则可以生成下载提示框,该下载提示框能够提示用户去根据第二特征信息联网下载相应的插件动态库。
请参阅图8,对应上述一种客户端插件化实现方法,本申请另一实施例还提出一种客户端插件化实现装置,该装置400包括:文件获取单元401、文件解析单元402、安装包判断单元403、动态库判断单元404、动态库调用单元405、客户端处理单元406、下载提示单元407、安装包存储单元408、文件读取单元411以及更改单元412。
所述文件获取单元401,用于若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件。
所述文件解析单元402,用于解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息。
所述安装包判断单元403,用于若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包。
所述动态库判断单元404,用于若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库。
所述动态库调用单元405,用于若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库。
所述客户端处理单元406,用于解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
所述下载提示单元407,用于若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包。
所述安装包存储单元408,用于若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
在另一实施例中,所述装置400的下载提示单元407还用于若预设的插件数据库中不存在与所述第二特征信息相匹配的插件动态库,生成下载提示框以提示用户根据第二特征信息联网下载相应的插件动态库。所述装置400的安装包存储单元408还用于若检测到用户发送的下载指令,将所需下载的插件动态库放入预设的插件数据库中进行存储。
所述文件读取单元411,用于若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表。
所述更改单元412,用于若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述客户端插件化实现装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述客户端插件化实现装置可以实现为一种计算机可读指令的形式,计算机可读指令可以在如图9所示的计算机设备上运行。
图9为本申请一种计算机设备的结构组成示意图。该设备可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参照图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器、内存储器504和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机可读指令5032,该计算机可读指令5032被执行时,可使得处理器502执行一种客户端插件化实现方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机可读指令5032的运行提供环境,该计算机可读指令5032被处理器502执行时,可使得处理器502执行一种客户端插件化实现方法。该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器502用于运行存储在存储器中的计算机可读指令5032,以实现上述客户端插件化实现方法中的所有步骤。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以包括所述计算设备的内部存储单元,如内存储器,例如计算设备的硬盘或内存。所述存储器还可以包括所述计算设备的外部存储设备,例如所述计算设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述计算设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机可读指令以及所述计算设备所需的其它指令和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成。该计算机可读指令可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机可读指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
因此,本申请还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机可读指令,该计算机可读指令被处理器执行时使处理器执行上述客户端插件化实现方法中的所有步骤。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机非易失性可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (20)

  1. 一种客户端插件化实现方法,其特征在于,所述方法包括:
    若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
    解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
    若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
    若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
    若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
    解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;
    若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
  3. 如权利要求1所述的方法,其特征在于,所述第一特征信息包括主体名称、主体版本号以及第一文件签名,所述判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包;
    若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配;
    若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同;
    若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
  4. 如权利要求1所述的方法,其特征在于,所述第二特征信息包括插件名称、插件版本号以及第二文件签名,所述获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库;
    若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配;
    若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同;
    若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
  5. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表;
    若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
  6. 一种客户端插件化实现装置,其特征在于,所述装置包括:
    文件获取单元,用于若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
    文件解析单元,用于解析所述配置文件以在显示界面上展示相应的输入列表,所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息,每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
    安装包判断单元,用于若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
    动态库判断单元,用于若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
    动态库调用单元,用于若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
    客户端处理单元,用于解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
  7. 如权利要求6所述的装置,其特征在于,所述安装包判断单元还包括:
    第一名称判断单元,用于判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包;
    第一版本号判断单元,用于若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配;
    第一签名判断单元,用于若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同;
    第一判定单元,用于若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
  8. 如权利要求6所述的装置,其特征在于,所述装置还包括:
    下载提示单元,用于若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;
    安装包存储单元,用于若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
  9. 如权利要求6所述的装置,其特征在于,所述动态库判断单元还包括:
    第二名称判断单元,用于判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库;
    第二版本号判断单元,用于若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配;
    第二签名判断单元,用于若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同;
    第二判定单元,用于若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
  10. 如权利要求6所述的装置,其特征在于,所述装置还包括:
    文件读取单元,用于若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表;
    更改单元,用于若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
  11. 一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
    若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
    解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
    若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
    若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
    若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
    解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
  12. 如权利要求11所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还实现如下步骤:
    若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;
    若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
  13. 如权利要求11所述的计算机设备,其特征在于,所述第一特征信息包括主体名称、主体版本号以及第一文件签名,所述判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包;
    若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配;
    若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同;
    若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
  14. 如权利要求11所述的计算机设备,其特征在于,所述第二特征信息包括插件名称、插件版本号以及第二文件签名,所述获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库;
    若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配;
    若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同;
    若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
  15. 如权利要求11所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还实现如下步骤:
    若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表;
    若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
  16. 一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时使所述处理器执行如下步骤:
    若检测到客户端生成指令,根据所述客户端生成指令获取预设的配置文件;
    解析所述配置文件以在显示界面上展示相应的输入列表;所述输入列表包括一个主输入框组以及至少一个从输入框组,所述主输入框组包括多个第一输入框,且不同的第一输入框均关联有不同类型的可供选择输入的第一特征信息;每个从输入框组均包括多个第二输入框,且不同的第二输入框均关联有不同的可供选择输入第二特征信息;
    若接收到用户提交的在主输入框组和从输入框组中选择输入的第一特征信息以及第二特征信息,判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包;
    若预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包,获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库;
    若预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库,调用与所述第二特征信息相匹配的插件动态库;
    解析所述主体安装包以确定相应的客户端主体,并通过预设标准接口将所述插件动态库与客户端主体进行关联以得到相应的客户端。
  17. 如权利要求16所述的计算机可读存储介质,其特征在于,所述计算机可读指令被处理器执行时还使所述处理器执行如下步骤:
    若预设的插件数据库中不存在与所述第一特征信息相匹配的主体安装包,生成下载提示框以提示用户根据第一特征信息联网下载相应的主体安装包;
    若检测到用户发送的下载指令,将所需下载的主体安装包放入预设的插件数据库中进行存储。
  18. 如权利要求16所述的计算机可读存储介质,其特征在于,所述第一特征信息包括主体名称、主体版本号以及第一文件签名,所述判断预设的插件数据库中是否存在与所述第一特征信息相匹配的主体安装包的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第一特征信息中的主体名称相匹配的主体安装包;
    若预设的插件数据库中存在名称与所述第一特征信息中的主体名称相匹配的主体安装包,判断该主体安装包的版本号是否与所述第一特征信息中的主体版本号相匹配;
    若该主体安装包的版本号与所述第一特征信息中的主体版本号相匹配,判断该主体安装包的文件签名是否与所述第一特征信息中的第一文件签名相同;
    若该主体安装包的文件签名与所述第一特征信息中的主体版本号相同,判定预设的插件数据库中存在与所述第一特征信息相匹配的主体安装包。
  19. 如权利要求16所述的计算机可读存储介质,其特征在于,所述第二特征信息包括插件名称、插件版本号以及第二文件签名,所述获取所述主体安装包并判断预设的插件数据库中是否存在与所述第二特征信息相匹配的插件动态库的步骤,包括:
    判断预设的插件数据库中是否存在名称与所述第二特征信息中的插件名称相匹配的插件动态库;
    若预设的插件数据库中存在名称与所述第二特征信息中的插件名称相匹配的插件动态库,判断该插件动态库的版本号是否与所述第二特征信息中的插件版本号相匹配;
    若该插件动态库的版本号与所述第二特征信息中的插件版本号相匹配,判断该插件动态库的文件签名是否与所述第二特征信息中的第二文件签名相同;
    若该插件动态库的文件签名与所述第二特征信息中的插件版本号相同,判定预设的插件数据库中存在与所述第二特征信息相匹配的插件动态库。
  20. 如权利要求16所述的计算机可读存储介质,其特征在于,所述计算机可读指令被处理器执行时还使所述处理器执行如下步骤:
    若检测到客户端编辑指令,读取并解析当前的配置文件以在显示界面上展示当前的输入列表;
    若接收到用户提交的对当前的输入列表的操作指令,对当前的输入列表进行相应的更改,以得到新的客户端。
PCT/CN2019/122460 2019-05-22 2019-12-02 客户端插件化实现方法、装置、计算机设备及存储介质 WO2020233081A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910428936.7A CN110297671A (zh) 2019-05-22 2019-05-22 客户端插件化实现方法、装置、计算机设备及存储介质
CN201910428936.7 2019-05-22

Publications (1)

Publication Number Publication Date
WO2020233081A1 true WO2020233081A1 (zh) 2020-11-26

Family

ID=68027154

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122460 WO2020233081A1 (zh) 2019-05-22 2019-12-02 客户端插件化实现方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN110297671A (zh)
WO (1) WO2020233081A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113625999A (zh) * 2021-08-10 2021-11-09 未鲲(上海)科技服务有限公司 应用程序的生成方法、装置、设备及存储介质
CN113741998A (zh) * 2021-08-16 2021-12-03 国网河北省电力有限公司检修分公司 一种具有多插件的继电保护装置的数据处理系统及方法
CN114500277A (zh) * 2021-12-15 2022-05-13 三维通信股份有限公司 多频段射频芯片的参数配置方法、装置和电子装置
CN114579326A (zh) * 2020-12-01 2022-06-03 上海宝信软件股份有限公司 一种分布式作业调度和执行方法插件化的方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297671A (zh) * 2019-05-22 2019-10-01 深圳壹账通智能科技有限公司 客户端插件化实现方法、装置、计算机设备及存储介质
CN112685102B (zh) * 2021-01-04 2022-06-03 浙江诺诺网络科技有限公司 一种网关插件热加载方法、装置、设备及介质
CN113010189B (zh) * 2021-03-17 2023-07-25 恒安嘉新(北京)科技股份公司 一种数据库安装方法、装置、设备及存储介质
CN115437734A (zh) * 2022-09-16 2022-12-06 抖音视界有限公司 页面展示方法、装置、存储介质和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530155A (zh) * 2013-10-12 2014-01-22 北京奇虎科技有限公司 一种用于应用程序的安装方法及装置
US20150012924A1 (en) * 2013-03-14 2015-01-08 Tencent Technology (Shenzhen) Company Limited Method and Device for Loading a Plug-In
CN104615462A (zh) * 2015-01-26 2015-05-13 北京邮电大学 跨平台的移动应用生成服务端及系统
CN106406961A (zh) * 2016-09-27 2017-02-15 北京奇虎科技有限公司 一种基于浏览器加载、提供应用程序的方法、装置
CN108958766A (zh) * 2018-06-15 2018-12-07 长沙市到家悠享家政服务有限公司 信息处理方法、装置及系统
CN110297671A (zh) * 2019-05-22 2019-10-01 深圳壹账通智能科技有限公司 客户端插件化实现方法、装置、计算机设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677877B (zh) * 2012-09-12 2018-01-30 腾讯科技(深圳)有限公司 一种本地广告软件开发包升级的方法及装置
CN105242910B (zh) * 2014-06-24 2018-09-18 深圳市茁壮网络股份有限公司 基于中间件插件框架的插件状态控制方法及客户端
CN104580378A (zh) * 2014-12-12 2015-04-29 百度在线网络技术(北京)有限公司 安装包的处理方法及装置
CN104636139B (zh) * 2015-01-26 2018-05-15 北京邮电大学 一种可视化跨平台移动应用开发与生成系统
CN106230977B (zh) * 2016-08-31 2019-08-13 广州品唯软件有限公司 一种客户端功能加载方法、系统、客户端和服务端
CN106775838A (zh) * 2016-11-29 2017-05-31 暴风集团股份有限公司 插件化下载应用程序安装包的方法及系统
CN106657385A (zh) * 2017-01-12 2017-05-10 深圳云创享网络有限公司 插件调用、管理方法、客户端及管理服务器
CN108632069B (zh) * 2017-03-23 2022-06-14 腾讯科技(深圳)有限公司 一种客户端配置方法、系统及相关设备
CN108958826B (zh) * 2017-05-22 2022-06-07 北京京东尚科信息技术有限公司 动态配置应用安装包的方法和装置
CN107391182B (zh) * 2017-06-30 2020-08-07 北京金山安全软件有限公司 一种主题安装包的生成方法、装置、服务器及存储介质
CN107911401B (zh) * 2017-08-04 2021-11-26 深圳壹账通智能科技有限公司 应用插件扩展功能方法及应用服务器
CN107493336A (zh) * 2017-08-21 2017-12-19 北京北信源软件股份有限公司 实现客户端插件化的方法和装置、可读介质和存储控制器
CN109460276A (zh) * 2018-10-25 2019-03-12 北京字节跳动网络技术有限公司 页面和页面配置文件生成方法、装置、终端设备及介质
CN109656613A (zh) * 2018-12-12 2019-04-19 深圳市丰巢科技有限公司 一种基于增量的应用开发方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012924A1 (en) * 2013-03-14 2015-01-08 Tencent Technology (Shenzhen) Company Limited Method and Device for Loading a Plug-In
CN103530155A (zh) * 2013-10-12 2014-01-22 北京奇虎科技有限公司 一种用于应用程序的安装方法及装置
CN104615462A (zh) * 2015-01-26 2015-05-13 北京邮电大学 跨平台的移动应用生成服务端及系统
CN106406961A (zh) * 2016-09-27 2017-02-15 北京奇虎科技有限公司 一种基于浏览器加载、提供应用程序的方法、装置
CN108958766A (zh) * 2018-06-15 2018-12-07 长沙市到家悠享家政服务有限公司 信息处理方法、装置及系统
CN110297671A (zh) * 2019-05-22 2019-10-01 深圳壹账通智能科技有限公司 客户端插件化实现方法、装置、计算机设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579326A (zh) * 2020-12-01 2022-06-03 上海宝信软件股份有限公司 一种分布式作业调度和执行方法插件化的方法及系统
CN113625999A (zh) * 2021-08-10 2021-11-09 未鲲(上海)科技服务有限公司 应用程序的生成方法、装置、设备及存储介质
CN113625999B (zh) * 2021-08-10 2024-04-09 北京阅见未来网络科技有限公司 应用程序的生成方法、装置、设备及存储介质
CN113741998A (zh) * 2021-08-16 2021-12-03 国网河北省电力有限公司检修分公司 一种具有多插件的继电保护装置的数据处理系统及方法
CN113741998B (zh) * 2021-08-16 2023-10-20 国网河北省电力有限公司检修分公司 一种具有多插件的继电保护装置的数据处理系统及方法
CN114500277A (zh) * 2021-12-15 2022-05-13 三维通信股份有限公司 多频段射频芯片的参数配置方法、装置和电子装置
CN114500277B (zh) * 2021-12-15 2023-12-05 三维通信股份有限公司 多频段射频芯片的参数配置方法、装置和电子装置

Also Published As

Publication number Publication date
CN110297671A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
WO2020233081A1 (zh) 客户端插件化实现方法、装置、计算机设备及存储介质
US10536513B2 (en) Opening local applications from browsers
CN110019080B (zh) 数据访问方法和装置
CN108718347B (zh) 一种域名解析方法、系统、装置及存储介质
WO2018210096A1 (zh) 一种基于规则引擎的规则配置方法、终端、设备以及存储介质
CN112637326B (zh) 一种基于网关的旧服务器升级方法及系统
WO2020248375A1 (zh) 数据库间数据同步方法、系统、计算机设备及存储介质
WO2022142153A1 (zh) 电表升级方法、系统、智能电表及存储介质
WO2023011274A1 (zh) 一种通讯协议转换方法、设备、系统及网关设备
WO2020233045A1 (zh) 一种插件更新方法、设备、服务器及计算机可读存储介质
US20220245588A1 (en) Providing a binary data file to a client application using a document model
CN113806037A (zh) 服务的调用方法、装置、存储介质及电子设备
CN112817935A (zh) 基于字段类型的数据处理方法、装置、设备及存储介质
CN109769010A (zh) 基于SDK访问CloudStack服务器的方法、装置、设备及存储介质
CN113010238A (zh) 一种微应用调用接口的权限确定方法、装置和系统
CN112199441A (zh) 基于大数据平台的数据同步处理方法、装置、设备及介质
CN112052171A (zh) 测试报文处理方法、装置、计算机设备及存储介质
CN112559233B (zh) 识别故障类型的方法、装置、设备和计算机可读介质
US11757976B2 (en) Unified application management for heterogeneous application delivery
US8775541B2 (en) Mail manufacturing virtualization
CN113254019A (zh) 注册前端数据流状态文件的方法和装置
CN114978786B (zh) 一种将第三方接口转化为系统标准接口的方法及装置
CN110099096B (zh) 应用程序配置方法、装置、计算机设备及存储介质
WO2021232909A1 (zh) 功能远程定制方法、装置、设备和存储介质
US12073263B1 (en) Dynamic processing of API requests

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19929564

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24.01.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19929564

Country of ref document: EP

Kind code of ref document: A1