Plug-in management and control system, method and equipment

Through the combination of plug-in manager, running container engine and API interface, the secure call and isolation of image forming device plug-ins is realized, solving the problems of plug-in mutual call and ecological security, and meeting the needs of complex business scenarios.

CN120386572APending Publication Date: 2025-07-29BEIJING PANTUM INFORMATION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510348583.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

Existing image forming equipment plug-ins are difficult to call each other, the ecological environment security is difficult to ensure, and multiple plug-ins cannot meet complex usage scenarios.

Method used

The plug-in manager, plug-in running container engine and API interface are adopted to achieve isolation of the plug-in running environment and controllable access to network and storage through container technology, set the priority order of the target plug-in, and make serial orchestration calls based on permissions.

Benefits of technology

It realizes safe and reliable calls of multiple plug-ins, meets the needs of complex business scenarios, lowers the threshold for plug-in development, and enriches the diversity and security of plug-ins.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120386572A_ABST
    Figure CN120386572A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of image forming equipment, in particular to a plug-in management and control system, method and equipment. According to the plug-in management and control system, the plug-in running containers are created in the image forming equipment through the plug-in running container engine, mutual isolation of the target plug-in running containers and mutual isolation of the target plug-in running containers and the image forming equipment are achieved, and therefore simultaneous running of multiple target plug-ins can be achieved; and parallel use, serial use or mutual calling among the plurality of target plug-ins. And meanwhile, the image forming equipment receives the setting of each target plug-in configuration item by the user through the plug-in management interface, determines the priority sequence of each target plug-in, and sequentially calls the target plug-ins to process the job task based on the priority sequence, thereby realizing the serial arrangement and calling of the job task in the target plug-ins. And a complex service scene is completed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of image forming devices, and particularly to a plug-in control system, method and device. Background Art

[0002] The functions of an image forming device are fixed at the factory stage. If additional functions need to be added or extended to the image forming device later, it can be processed by updating the firmware version.

[0003] Currently, a technology for dynamically expanding the functions of an image forming device in the form of a plug-in has emerged on some image forming devices. It mainly installs a plug-in in the image forming device, and the image forming device calls the API of the plug-in to implement functions that the image forming device originally does not support.

[0004] Current image forming devices can install multiple plug-ins, but multiple plug-ins need to be opened and used separately, which cannot meet complex usage scenarios. On the other hand, current plug-ins work by connecting to the printer interface, accessing the printer network, accessing the printer storage and memory through the plug-in, which may pose security risks to the printer operation. Summary of the Invention

[0005] Embodiments of the present invention provide a plug-in control system, method and device to solve the problems in the prior art that it is difficult for plug-ins of an image forming device to call each other and it is difficult to ensure the security of the ecological environment.

[0006] In a first aspect, embodiments of the present invention provide a plug-in control system, which includes: a plug-in manager, a plug-in running container engine and an API interface deployed on an image forming device; The plug-in manager is configured to receive a start instruction from a user and determine one or more target plug-ins to be started according to the start instruction; The plug-in running container engine is configured to, after receiving a job task issued by the user, trigger each of the target plug-ins to process the job corresponding to the job task in sequence according to the configuration items of each target plug-in, where the configuration item of each target plug-in includes the running priority of the target plug-in among the target plug-ins; The API interface is configured to provide an interface for the target plug-in to access and operate the firmware of the image forming device.

[0007] Optionally, the system further includes: a cloud plug-in repository; The plug-in manager is further configured to receive a download instruction from a user, determine the target plug-in from the plug-ins to be downloaded in the cloud plug-in repository according to the download instruction, and download the target plug-in; The plugin manager is also used to store the target plugin locally in the image forming device; Among them, each plugin to be downloaded in the cloud plugin repository is created and uploaded by the plugin developer in the cloud.

[0008] Optionally, the plugin manager is also used to receive a configuration instruction from the user and set the configuration items of the target plugin according to the configuration instruction; Among them, the configuration items include general configuration items that must be set and custom configuration items; The general configuration items include the running priority of the target plugin, the triggering timing of the target plugin, and the job formats supported by the target plugin for processing. The custom configuration items include the subsequent processing methods after the target plugin finishes processing.

[0009] Optionally, the plugin running container engine is also used to create a plugin running container for running plugins developed in various languages through container technology, isolate each plugin running container from each other, and isolate each plugin running container from the running environment of the image forming device; among them, the plugin running container provides a running environment for the plugin; The plugin running container engine is also used to achieve controllable access to the network and storage of each plugin and the image forming device through container technology.

[0010] Optionally, the plugin running container engine is specifically used to determine whether there is a call relationship between any two target plugins among the target plugins after receiving a job task issued by the user; When it is determined that there is a call relationship between any two target plugins, establish an input-output relationship between these two target plugins; Process the job corresponding to the job task in sequence according to the input-output relationship between any two target plugins among the target plugins and the configuration items of the target plugins.

[0011] Optionally, the system further includes: a cloud provided by the image forming device manufacturer and a cloud plugin repository located in the cloud; The cloud is used to allow the plugin developer to set the configuration information of the plugin to be downloaded. The configuration information includes the name, version number, author, startup instruction, and application permission of the plugin to be downloaded; The cloud is further configured to, after the plugin developer sets the configuration information of the plugin to be downloaded, submit the plugin program package and the configuration information of the plugin to be downloaded to the image forming device manufacturer for review; after the image forming device manufacturer completes the review and passes the verification test, publish the plugin to be downloaded to the cloud plugin repository so that users can download the plugin to be downloaded from the cloud plugin repository.

[0012] In a second aspect, an embodiment of the present invention provides a plugin management method, which is applied to an image forming device. The method includes: In response to a user's start operation on each target plugin, start the each target plugin; After receiving a job task issued by the user, trigger the each target plugin to process the job corresponding to the job task according to the configuration items of the each target plugin; Among them, the configuration item of each target plugin includes the running priority of the target plugin among the each target plugin.

[0013] Optionally, for the step of "In response to a user's start operation on each target plugin, start the each target plugin", the method includes: In response to the user's search operation on the each target plugin in the plugin management interface, display the current status of the each target plugin in the plugin management interface; wherein, the plugin management interface is the human-computer interaction interface of the plugin manager in the image forming device; In response to the user's change operation on the current status of the each target plugin, start the each target plugin.

[0014] Optionally, before the step of "In response to a user's start operation on each target plugin, start the each target plugin", the method further includes: In response to the user's setting operation on any one of the each target plugin in the plugin management interface, display the configuration item of the target plugin in the plugin management interface; wherein, the plugin management interface is the human-computer interaction interface of the plugin manager in the image forming device; In response to the user's modification operation on the configuration item of the target plugin, modify the parameters corresponding to the configuration item of the target plugin to complete the setting of the configuration item of the target plugin; Among them, the configuration item includes a general configuration item that must be set and a custom configuration item; The general configuration item includes the running priority of the target plugin among the each target plugin, the processing timing of the target plugin, and the job format supported by the target plugin for processing, and the custom configuration item includes the subsequent processing method after the target plugin completes processing.

[0015] Optionally, according to the configuration items of each target plugin, triggering each target plugin to process the job corresponding to the job task includes: Determine whether there is a call relationship between any two of the target plugins; When it is determined that there is a call relationship between any two target plugins, establish an input-output relationship between these two target plugins; According to the input-output relationship between any two of the target plugins and the configuration items of each target plugin, process the job corresponding to the job task in sequence.

[0016] In a third aspect, an embodiment of the present invention provides an electronic device, including: At least one processor; and At least one memory communicatively connected to the processor, wherein: The memory stores program instructions executable by the processor, and the processor can execute the method according to any item in the second aspect by invoking the program instructions.

[0017] In a fourth aspect, an embodiment of the present invention provides a storage medium, where the storage medium includes a stored program, and when the program runs, it controls the device where the storage medium is located to execute the method according to any item in the second aspect.

[0018] In the embodiment of the present invention, after the target plugin is installed in the image forming device, by setting the priority order of the target plugin and providing corresponding permissions during the operation of the plugin according to the permissions set by the target plugin, serial scheduling and calling of the jobs to be printed in the target plugin are realized, and complex business scenarios are completed.

[0019] At the same time, containerization technology is used to isolate the running environment of the target plugin from the running environment of the image forming device, realizing a secure plugin running environment and ensuring the running safety of the printer. Based on containerization technology, the plugin can be developed in any language, no longer limited to the specific language set by the printer manufacturer, reducing the development threshold. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0021] Figure 1 The figure shows a schematic diagram of a plugin management and control system provided by an embodiment of the present application; Figure 2The figure shows a flowchart of a plugin control method provided by an embodiment of the present application; Figure 3 The figure shows a schematic diagram of a plugin program startup package provided by an embodiment of the present application; Figure 4 The figure shows a schematic diagram of a plugin management interface provided by an embodiment of the present application; Figure 5 The figure shows a schematic diagram of a submission review interface for a plugin to be downloaded provided by an embodiment of the present application; Figure 6 The figure shows a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0022] To better understand the technical solution of the present application, the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0023] It should be clear that the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts belong to the scope of protection of the present application.

[0024] As Figure 1 shown, a plugin control system provided by an embodiment of the present invention is provided. Refer to Figure 1 , the plugin control system includes: a plugin manager 110, a plugin runtime container engine 120, and an API interface 130 deployed on an image forming device. The image forming device may refer to a printer, a copier, a fax machine, a scanner with a scanning function, and a multifunctional all-in-one machine integrating functions such as printing, copying, faxing, and scanning.

[0025] The plugin manager 110 is configured to receive a startup instruction from a user and determine one or more target plugins to be started according to the startup instruction.

[0026] Optionally, the plugin manager 110 is further configured to receive a configuration instruction from the user and set configuration items of the target plugin according to the configuration instruction.

[0027] The configuration items include general configuration items that must be set and custom configuration items. The general configuration items include the running priority of the target plugin, the triggering timing of the target plugin, the job formats supported by the target plugin for processing, etc.; the custom configuration items include the subsequent processing methods after the target plugin finishes processing, etc. The triggering timing may include: before the start of a job task, during the processing of a job task, and after the processing of a job task.

[0028] The plugin runtime container engine 120 is configured to run each target plugin in the corresponding plugin runtime containers.

[0029] Among them, the plug-in running container engine creates plug-in running containers for running plug-ins developed in various languages through container technology. Each plug-in running container provides a running environment for the corresponding plug-in. The plug-in running container engine is used to control the running of each plug-in in the corresponding plug-in running container and perform subsequent processing such as resource release after the running ends.

[0030] According to the requirements of security and isolation, the plug-in running container engine can be implemented by common container technologies such as Docker containers or other containers that can be implemented.

[0031] Specifically, the plug-in running container engine can create plug-in running containers with different permissions and configurations for each plug-in according to the application permissions, configuration items, etc. of different plug-ins, so as to achieve mutual isolation between each plug-in running container and to achieve mutual isolation between each plug-in running container and the image forming device running environment, such as the mutual isolation between the printer firmware and each plug-in running container, so as to ensure that the running of a certain plug-in will not affect other plug-ins or firmware. At the same time, based on container technology, it is possible to run plug-ins developed in various languages. For example, plug-ins in programming languages such as Java, JavaScript, and Python can all run, reducing the difficulty for developers to develop plug-ins, enriching the diversity of plug-ins, and enabling adaptation to more types of plug-ins.

[0032] The plug-in running container engine is also used to achieve controllable access to the network and storage of each plug-in and the image forming device through container technology.

[0033] After receiving the job tasks issued by the user, the plug-in running container engine is also used to trigger each target plug-in to process the job corresponding to the job task in turn according to the configuration items of each target plug-in. Among them, the configuration item of each target plug-in includes the running priority of the target plug-in among all target plug-ins. The running priority indicates the execution order of the target plug-in for the job among all target plug-ins.

[0034] Optionally, after receiving the job tasks issued by the user, the plug-in running container engine is also used to determine whether there is a call relationship between any two of the target plug-ins. When it is determined that there is a call relationship between any two target plug-ins, an input-output relationship between these two target plug-ins is established, so as to process the job corresponding to the job task in turn according to the input-output relationship between any two of the target plug-ins and the configuration items of each target plug-in.

[0035] Specifically, it is possible to determine whether there is a call relationship between any two target plugins in each target plugin according to the subsequent processing methods included in the custom configuration items of each target plugin. Among them, the subsequent processing methods may include: the method of calling other plugins, the sending method, etc. The sending method includes: calling an HTTP request, sending an Email, etc. The custom configuration item also includes the processing content, and the processing content may include: job content, the operating state of the image forming device, the result of the image forming device processing the job task, etc.

[0036] For example: It is determined that there are two target plugins that need to process the job, namely target plugin 1 and target plugin 2. When the subsequent processing method of target plugin 1 is set to call target plugin 2, it is determined that there is a call relationship between target plugin 1 and target plugin 2, and then the input-output relationship between target plugin 1 and target plugin 2 is established. That is, it is determined that the output of target plugin 1 is input into target plugin 2. After processing the job with target plugin 1, the processed result is input into target plugin 2, and after being processed by target plugin 2, the final result is output through target plugin 2.

[0037] In the embodiment of the present invention, the job task may be a task issued by the user that needs to be printed by the image forming device, or a task that needs to be scanned by the image forming device, or a task that performs operations such as optimization, merging, format conversion, and sending to a specific address on the scanned image obtained by the image forming device.

[0038] The API interface 130 is used to provide an interface for the target plugin to access and operate the firmware of the image forming device.

[0039] Among them, the API interface is a way for the plugin to communicate with the firmware of the image forming device. The firmware of the image forming device provides an interface for the target plugin to access and operate the firmware of the image forming device through the API interface. For example, it is used to send jobs to the image forming device, obtain job status, read the operating status and faults of the image forming device, access the storage of the image forming device, access the network of the image forming device, etc.

[0040] Optionally, in some embodiments, the plugin management system further includes a cloud and a cloud plugin repository located in the cloud. The cloud plugin repository stores a number of plugins to be downloaded and is communicatively connected to the plugin manager of the image forming device.

[0041] The cloud is used to allow plugin developers to set the configuration information of the plugins to be downloaded. The configuration information includes the name, version number, author, start instruction, and application permissions of the plugins to be downloaded.

[0042] The cloud is also used to submit the plugin program package and configuration information of the plugin to be downloaded to the image forming device manufacturer for review after the plugin developer has set the configuration information of the plugin to be downloaded; after the image forming device manufacturer has completed the review and passed the verification test, the plugin to be downloaded is published to the cloud plugin repository so that users can download the plugin to be downloaded from the cloud plugin repository.

[0043] The plugin manager 110 is also used to receive the download instruction issued by the user, determine the target plugin retrieved by the user's request from the cloud plugin repository according to the download instruction, download the target plugin in response to the user's download and installation actions, and install and store the target plugin locally.

[0044] As Figure 2 shown, it is a flowchart of a plugin control method provided by an embodiment of the present invention. The plugin control method is applied to an image forming device, and the image forming device is deployed with a plugin manager, a plugin runtime container engine, and an API interface in the plugin control system. Refer to Figure 2 and the specific steps of this method include: S201, in response to the user's start operation on each target plugin, start each target plugin.

[0045] Specifically, in response to the user's search operation on each target plugin in the plugin management interface of the image forming device, display the current status of each target plugin in the plugin management interface. Generally, the current status of the target plugin includes: started, not started, or not downloaded.

[0046] In response to the user's change operation on the current status of each target plugin, start each target plugin, that is, the plugin manager starts each target plugin. For example, when the user changes the current status of a certain target plugin from not started to started, start the corresponding target plugin.

[0047] Among them, the plugin management interface is the human-computer interaction interface of the plugin manager in the image forming device; When receiving the user's change operation on the current status of the target plugin, such as a start instruction, the plugin runtime container reads the plugin program startup package and parameter configuration of the target plugin, and schedules the target plugin to run according to the parameter configuration. As Figure 3 shown, it is a schematic diagram of a plugin program startup package provided by an embodiment of the present invention.

[0048] S202, after receiving the job task issued by the user, trigger each target plugin to process the job corresponding to the job task according to the configuration items of each target plugin.

[0049] The configuration item of each target plugin includes the running priority of the target plugin among each target plugin.

[0050] The plug-in running container engine determines the processing order for each target plug-in to process the job to be processed according to the order of the running priorities in the configuration items of each target plug-in, and triggers each target plug-in to process the job to be processed in sequence according to this processing order.

[0051] Among them, when triggering multiple processing plug-ins to process the job to be processed, the linkage between multiple processing plug-ins can be realized through the mapping relationship of the job to be processed.

[0052] In a specific embodiment, if it is necessary to send the scanned file of plug-in A to the printing directory of plug-in B, Docker's file mapping can be used to map the scanned file directory / storage of plug-in A to / plugin / file / temp / pluin_a_storage / of the image forming device. At the same time, the printing directory / storage of plug-in B is also mapped to / plugin / file / temp / pluin_a_storage / of the image forming device, so that plug-in B can access the scanned file of plug-in A and perform printing operations.

[0053] Optionally, after determining the priority order of each target plug-in, it is also necessary to determine whether there is a call relationship, that is, a data transfer relationship, between any two target plug-ins among the target plug-ins. Generally, it is determined by judging whether there is a situation where the upstream processing plug-in outputs the processed job to be processed to the downstream processing plug-in as the input of the downstream processing plug-in.

[0054] When it is determined that there is a call relationship between any two target plug-ins, an input-output relationship between these two target plug-ins is established. According to the input-output relationship between any two target plug-ins in each target plug-in and the configuration items of each target plug-in, that is, the priority order, the job corresponding to the job task is processed in sequence.

[0055] Optionally, in some embodiments, the configuration item further includes the format supported by the target plug-in for processing.

[0056] According to the job format of the job task and the configuration items of the target plug-in, it is determined whether the target plug-in supports processing the job corresponding to the job task. Then, the image forming device can recommend other target plug-ins that can support this job format and prompt the user to enable or download other target plug-ins in the plug-in management interface. Among them, the other target plug-ins can achieve the same function as the target plug-in.

[0057] For example, when the job format of a job task is in PNG format and a certain target plugin supports processing files in PNG format, the target plugin will be run to process the job task in PNG format; if the target plugin does not support processing PNG format, the target plugin will not be run to process the job task in PNG format.

[0058] Optionally, in some embodiments, it is also necessary to determine the processing plugins that need to process the jobs to be processed according to the application permissions of each target plugin. The application permissions of the target plugin include permissions to call APIs, obtain print files, obtain scanned files, obtain network status, etc.

[0059] When the target plugin has the corresponding application permissions, such as having API permissions to allow access to and process the jobs to be processed, the target plugin will be run to process the job tasks; otherwise, the job tasks will not be processed.

[0060] In the embodiments of the present invention, after the target plugin is installed in the image forming device, by setting the priority order of the target plugin and providing corresponding permissions during the operation of the plugin according to the permissions set by the target plugin, serial scheduling calls of the printer jobs in the target plugin are realized, and complex business scenarios are completed.

[0061] At the same time, containerization technology is used to isolate the running environment of the target plugin from the running environment of the image forming device, realizing a secure plugin running environment and ensuring the running safety of the printer. Based on containerization technology, plugins can be developed in any language, no longer limited to the specific language set by the printer manufacturer, reducing the development threshold.

[0062] Optionally, in some embodiments, before starting the target plugin, it is also necessary to download the target plugin from the cloud plugin repository to the local image forming device.

[0063] When the current status of each target plugin is displayed in the plugin management interface, in response to the user's change operation on the current status of each target plugin, the corresponding target plugin is downloaded. That is, when the user clicks the download button in the plugin management interface, a download instruction for the target plugin is generated. After that, based on the user's download instruction for the target plugin in the plugin management interface, the target plugin is determined from each plugin to be downloaded in the cloud plugin repository, and the target plugin is downloaded and stored in the plugin manager.

[0064] After the download of the target plugin is completed and before starting the target plugin, the user can also configure the target plugin.

[0065] Specifically, in response to a user's setting operation on any one of the target plugins in the plugin management interface, the configuration items of the target plugin are displayed in the plugin management interface.

[0066] In response to a user's modification operation on the configuration items of the target plugin, the parameters corresponding to the configuration items of the target plugin are modified to complete the setting of the configuration items of the target plugin.

[0067] The configuration items include general configuration items that must be set and custom configuration items.

[0068] The general configuration items include the running priority of the target plugin among the target plugins, the processing timing of the target plugin, and the job format supported by the target plugin for processing. The custom configuration items include the subsequent processing method after the target plugin completes processing, such as the email or terminal device to which it needs to be sent, etc.

[0069] The subsequent processing method may include the sending method. The user can implement information sending by configuring methods such as invoking HTTP requests, sending emails, etc. The information may include processing results (such as: the processed file after file processing), notification information. For example, the user can, after the file processing is successful, invoke a self-developed HTTP interface to send the processed file to their own server to complete subsequent custom processing; or set their own email or mobile phone number to send notifications and the processed file to their own email or mobile phone after the file processing is completed.

[0070] Optionally, the custom configuration items further include processing content, which may include: job content, the running status of the image forming device, the result of the image forming device processing the job task, etc. For example, after the target plugin runs, it can send the processed file to an email; or the target plugin can also send only the printing status (success / failure) rather than the file itself to an email to achieve maximum custom control.

[0071] After completing the download of the target plugin and the setting of the configuration items in the target plugin, the target plugin is started by executing the above S201, and the target plugin is used to process the job to be processed by executing the above S202.

[0072] The following is a specific embodiment provided by the present invention. As Figure 4 shown, it is a schematic diagram of the plugin management interface of the image forming device.

[0073] See Figure 4 , which successively shows the process of the user searching for the target plugin, viewing the target plugin, and setting the configuration items of the target plugin. The job task is described by taking the printing task as an example.

[0074] When the user issues a download instruction, the plugin manager determines relevant plugins to be downloaded from the plugins to be downloaded in the cloud plugin repository according to the download instruction: a picture beautification plugin, a scan-to-network drive plugin, and a picture skew correction plugin. Among them, Figure 4 the download of the picture beautification plugin and the picture skew correction plugin has been completed, and the picture skew correction plugin has been enabled, but the download of the scan-to-network drive plugin has not been completed.

[0075] The enabled picture skew correction plugin is used to perform intelligent skew correction processing on the pictures in the print job. The supported job formats include PNG, JPEG, JPG, and BMP, and no network connection is required when performing operations.

[0076] Set the configuration items of the picture skew correction plugin, set its priority to 99, the trigger timing to before printing, and the job formats for processing the print job to PNG and JPG. At the same time, set the configuration items of the picture highlighting plugin and the print notification plugin. Set the priority of the picture highlighting plugin to 3, the trigger timing to before printing, and the job formats for processing the print job to PNG and JPG; set the priority of the print notification plugin to 1, the trigger timing to after printing, select SMS as the notification method, and specifically configure the mobile phone numbers for receiving SMS notifications.

[0077] After the image forming device receives the print job to be processed and determines that the print job is in PNG format, according to the priority and trigger timing, the print job is processed by running the picture skew correction plugin and the picture highlighting plugin in sequence, and finally the print output is executed and the print result is notified through the print notification plugin.

[0078] Next, the creation and upload of plugins in the cloud plugin repository of the cloud are described.

[0079] In some embodiments, each plugin to be downloaded in the cloud plugin repository is created and uploaded by the plugin developer on the cloud system.

[0080] Specifically, the plugin developer needs to determine the configuration information of the plugin to be downloaded on the cloud system. The configuration information specifically includes the name, version number, author, start instruction, and application permissions of the plugin. Among them, the configuration specifications are all formulated by the manufacturer of the image forming device.

[0081] After determining the configuration information, submit the configuration information and the plugin program package of the plugin to be downloaded to the manufacturer of the image forming device for review. When the manufacturer of the image forming device completes the review and passes the verification test, it is released to the cloud repository for the user to download to the image forming device.

[0082] As Figure 5 shown, it is a schematic diagram of the submission review interface of a plugin to be downloaded provided by an embodiment of the present invention.

[0083] Figure 6 This is a schematic structural diagram of an embodiment of an electronic device in this specification. The electronic device can be an image forming device provided with a plug-in control system as shown below. As shown below, the above-mentioned electronic device may include at least one processor; and at least one memory communicatively connected to the above-mentioned processing unit, wherein: the memory stores program instructions executable by the processing unit, and the above-mentioned processor can execute the plug-in control method provided in this embodiment by invoking the above-mentioned program instructions. Figure 1 shown below. As Figure 6 shown, the above-mentioned electronic device may include at least one processor; and at least one memory communicatively connected to the above-mentioned processing unit, wherein: the memory stores program instructions executable by the processing unit, and the above-mentioned processor can execute the plug-in control method provided in this embodiment by invoking the above-mentioned program instructions.

[0084] Among them, the above-mentioned electronic device can be a device capable of having an intelligent conversation with a user, for example: a cloud server. The specific form of the above-mentioned electronic device is not limited in the embodiments of this specification. It can be understood that the electronic device here is the machine mentioned in the method embodiment.

[0085] Figure 6 shows a block diagram of an exemplary electronic device suitable for implementing the embodiments of this specification. Figure 6 The electronic device shown is only an example and should not impose any limitations on the functions and usage scope of the embodiments of this specification.

[0086] As Figure 6 shown, the electronic device is presented in the form of a general-purpose computing device. The components of the electronic device may include but are not limited to: one or more processors 610, a communication interface 620, a memory 630, and a communication bus 640 connecting different system components (including the memory 630, the communication interface 620, and the processor 610).

[0087] The communication bus 640 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any bus structure in multiple bus structures. For example, these architectures include but are not limited to the Industry Standard Architecture (hereinafter referred to as: ISA) bus, the Micro Channel Architecture (hereinafter referred to as: MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (hereinafter referred to as: VESA) local bus, and the Peripheral Component Interconnection (hereinafter referred to as: PCI) bus.

[0088] An electronic device typically includes a variety of computer system-readable media. These media can be any available media accessible to the electronic device, including volatile and non-volatile media, removable and non-removable media.

[0089] Memory 630 may include computer system-readable media in the form of volatile memory, such as random access memory (Random Access Memory; hereinafter referred to as: RAM) and / or cache memory. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. Memory 630 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this specification.

[0090] A program / utility having a set (at least one) of program modules may be stored in memory 630. Such program modules include - but are not limited to - an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment. The program modules generally perform the functions and / or methods in the embodiments described in this specification.

[0091] Processor 610 executes various functional applications and data processing by running the programs stored in memory 630, such as implementing the plug-in control method provided by the embodiments shown in this specification.

[0092] The embodiments of this specification provide a non-transitory computer-readable storage medium storing computer instructions that cause the computer to execute the plug-in control method provided by the embodiments shown in this specification.

[0093] The above non-transitory computer-readable storage medium may employ any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (hereinafter referred to as ROM), an erasable programmable read-only memory (hereinafter referred to as EPROM), or a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0094] The computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer-readable program code. Such a propagated data signal may take many forms, including - but not limited to - an electromagnetic signal, an optical signal, or any suitable combination of the foregoing. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0095] The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including - but not limited to - wireless, wire, optical fiber, RF, etc., or any suitable combination of the foregoing.

[0096] Computer program code for performing the operations of this specification can be written in one or more programming languages or combinations thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or it can be connected to an external computer (e.g., by connecting through the Internet using an Internet service provider).

[0097] The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0098] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" can explicitly or implicitly include at least one of the features. In the description of this specification, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically defined.

[0099] Any process or method description in a flowchart or otherwise described herein can be understood to represent a module, segment, or portion of code including one or more executable instructions for implementing a customized logical function or process, and the scope of the preferred embodiments of this specification includes additional implementations where the functions can be performed in a manner not shown or discussed, including in a substantially simultaneous manner or in a reverse order according to the functions involved, which should be understood by those skilled in the art to which the embodiments of this specification pertain.

[0100] Depending on the context, as used herein, the word "if" can be interpreted as "when" or "while" or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase "if determined" or "if detected (stated condition or event)" can be interpreted as "when determined" or "in response to determining" or "when detected (stated condition or event)" or "in response to detecting (stated condition or event)".

[0101] It should be noted that the terminals involved in the embodiments of this specification may include, but are not limited to, personal computers (Personal Computer; hereinafter referred to as: PC), personal digital assistants (Personal Digital Assistant; hereinafter referred to as: PDA), wireless handheld devices, tablet computers (Tablet Computer), mobile phones, MP3 players, MP4 players, etc.

[0102] In the embodiments provided in this specification, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.

[0103] In addition, in each embodiment of this specification, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware, or in the form of a combination of hardware and software functional units.

[0104] The above-mentioned integrated units implemented in the form of software functional units can be stored in a computer-readable storage medium. The above-mentioned software functional units stored in a storage medium include several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (Processor) to execute some steps of the methods described in the embodiments of this specification.

[0105] The above are only the preferred embodiments of this specification and are not intended to limit this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this specification shall be included within the scope of protection of this specification.

Claims

1. A plug-in control system, characterized in that, The system includes: a plug-in manager, a plug-in running container engine, and an API interface deployed on an image forming device; The plug-in manager is configured to receive a start instruction from a user, and determine one or more target plug-ins to be started according to the start instruction; The plug-in running container engine is configured to, after receiving a job task issued by the user, trigger the respective target plug-ins to process the job corresponding to the job task in sequence according to the configuration items of the respective target plug-ins, wherein the configuration item of each target plug-in includes the running priority of the target plug-in among the respective target plug-ins; The API interface is configured to provide an interface for the target plug-ins to access and operate the firmware of the image forming device.

2. The system according to claim 1, wherein The system further includes: a cloud plug-in repository; The plug-in manager is further configured to receive a download instruction from the user, determine the target plug-ins from the plug-ins to be downloaded in the cloud plug-in repository according to the download instruction, and download the target plug-ins; The plug-in manager is further configured to store the target plug-ins locally on the image forming device; Wherein, each of the plug-ins to be downloaded in the cloud plug-in repository is created and uploaded by a plug-in developer in the cloud.

3. The system according to claim 1, characterized in that The plug-in manager is further configured to receive a configuration instruction from the user, and set the configuration items of the target plug-ins according to the configuration instruction; Wherein, the configuration items include general configuration items that must be set, and custom configuration items; The general configuration items include the running priority of the target plug-in, the triggering timing of the target plug-in, and the job formats supported by the target plug-in for processing, and the custom configuration items include the subsequent processing method after the target plug-in completes processing.

4. The system according to claim 1, wherein The plug-in running container engine is further configured to create plug-in running containers for running plug-ins developed in various types of languages through container technology, and implement isolation between the respective plug-in running containers and isolation between the respective plug-in running containers and the running environment of the image forming device; wherein, the plug-in running containers provide a running environment for the plug-ins; The plug-in running container engine is further configured to achieve controllable access to the network and storage of the respective plug-ins and the image forming device through container technology.

5. The system according to claim 1, wherein The plug-in running container engine is specifically configured to, after receiving a job task issued by the user, determine whether there is a call relationship between any two of the target plug-ins; When it is determined that there is a call relationship between any two target plug-ins, establish an input-output relationship between the two target plug-ins; Process the job corresponding to the job task in sequence according to the input-output relationship between any two of the target plug-ins and the configuration items of the respective target plug-ins.

6. The system according to claim 1, characterized in that The system further includes: a cloud provided by the image forming device manufacturer and a cloud plug-in repository located in the cloud; The cloud is configured to allow a plug-in developer to set configuration information of a plug-in to be downloaded, and the configuration information includes the name, version number, author, start instruction, and application permissions of the plug-in to be downloaded; The cloud is further configured to, after the plugin developer sets the configuration information of the plugin to be downloaded, submit the plugin program package and the configuration information of the plugin to be downloaded to the image forming device manufacturer for review; when the image forming device manufacturer completes the review and passes the verification test, publish the plugin to be downloaded to the cloud plugin repository so that the user can download the plugin to be downloaded from the cloud plugin repository.

7. A plug-in control method, characterized in that The method is applied to an image forming device, and the method includes: In response to a user's startup operation on each target plugin, start the each target plugin; After receiving a job task issued by the user, trigger each target plugin to process the job corresponding to the job task according to the configuration items of the each target plugin; Wherein, the configuration item of each target plugin includes the running priority of the target plugin among the each target plugin.

8. The method according to claim 7, wherein The step of, in response to a user's startup operation on each target plugin, starting the each target plugin, the method includes: In response to the user's search operation on the each target plugin in the plugin management interface, display the current status of the each target plugin in the plugin management interface; wherein, the plugin management interface is the human-machine interaction interface of the plugin manager in the image forming device; In response to the user's change operation on the current status of the each target plugin, start the each target plugin.

9. The method according to claim 7, wherein Before the step of, in response to a user's startup operation on each target plugin, starting the each target plugin, the method further includes: In response to the user's setting operation on any one of the each target plugin in the plugin management interface, display the configuration item of the target plugin in the plugin management interface; wherein, the plugin management interface is the human-machine interaction interface of the plugin manager in the image forming device; In response to the user's modification operation on the configuration item of the target plugin, modify the parameters corresponding to the configuration item of the target plugin to complete the setting of the configuration item of the target plugin; Wherein, the configuration item includes a general configuration item that must be set and a custom configuration item; The general configuration item includes the running priority of the target plugin among the each target plugin, the processing timing of the target plugin, and the job format supported by the target plugin for processing, and the custom configuration item includes the subsequent processing method after the target plugin completes processing.

10. The method according to claim 7, wherein Triggering each target plugin to process the job corresponding to the job task according to the configuration items of the each target plugin includes: Determine whether there is a call relationship between any two of the each target plugin; When it is determined that there is a call relationship between any two target plugins, establish an input-output relationship between the two target plugins; According to the input-output relationship between any two of the each target plugin and the configuration items of the each target plugin, process the job corresponding to the job task in sequence.

11. An electronic device, characterized in that, including: At least one processor; and At least one memory communicatively connected to the processor, wherein: The memory stores program instructions executable by the processor, and the processor can execute the method according to any one of claims 7 to 10 by invoking the program instructions.

12. A storage medium, characterized in that, The storage medium includes a stored program, wherein when the program runs, it controls the device where the storage medium is located to execute the method according to any one of claims 7 to 10.