Distribution method and device of browser extension, electronic equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INDUSTRIAL AND COMMERCIAL BANK OF CHINA
- Filing Date
- 2022-12-13
- Publication Date
- 2026-08-07
AI Technical Summary
[0004]但是,浏览器扩展程序的首次配置和后续更新均需要用户手动操作,对于扩展功能需求庞大的企业用户,手动安装和更新浏览器扩展程序会导致安装和更新步骤复杂、操作效率低以及用户体验差等问题
[0041]根据本公开的实施例,通过响应于接收到M个配置文件,根据M个配置文件,确定第一组策略和第二组策略;根据第一组策略和第二组策略,更新N个终端设备的注册表信息,得到N个更新注册表信息;将N个更新注册表信息分别分发至N个终端设备,以便终端设备根据存储地址安装浏览器扩展程序,实现了浏览器扩展程序的自动配置。由于本公开可以通过组策略的方法在N个终端设备中批量安装或配置M个浏览器扩展程序,无需用户手工安装大量的浏览器扩展程序,对于浏览器扩展程序种类和需求众多的企业用户,可以很大程度地提高安装或更新浏览器扩展程序的操作步骤和操作效率,并提高用户的操作体验。
Smart Images

Figure CN115857969B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of information security technology, specifically to a method, apparatus, electronic device, and storage medium for distributing browser extensions. Background Technology
[0002] Since Internet Explorer (IE) has ceased providing services to users, applications that rely on IE need to be extended to other browsers. However, due to significant technological differences between Chromium-based and Trident-based IE browsers, Chromium-based browsers do not support certain plugins used with IE.
[0003] Currently, users can download or update browser extensions from the "Extension Store" to enable various functions on Chromium-based browsers. Browser extensions are software developed using web technologies to enhance browser functionality.
[0004] However, both the initial configuration and subsequent updates of browser extensions require manual operation by the user. For enterprise users with a large demand for extended functionality, manually installing and updating browser extensions can lead to problems such as complicated installation and update steps, low operational efficiency, and poor user experience. Summary of the Invention
[0005] In view of the above problems, this disclosure provides a method, apparatus, electronic device and storage medium for distributing browser extensions.
[0006] According to a first aspect of this disclosure, a method for distributing a browser extension is provided, applied to a domain controller, the domain controller being used to control at least one terminal device; the method includes: in response to receiving M configuration files, determining a first set of policies and a second set of policies based on the M configuration files, wherein the configuration files include a browser extension, the browser extension being used to extend browser functionality, the first set of policies being used to allow the terminal device to install the browser extension, and the second set of policies being used to install the browser extension without prompting, M≥1;
[0007] Based on the first and second sets of strategies, update the registry information of N terminal devices to obtain N updated registry information entries. Here, each of the N terminal devices is a device for which a browser extension needs to be configured. The updated registry information includes the storage address of the browser extension, where N ≥ 1; and
[0008] N registry update messages are distributed to N terminal devices so that the terminal devices can install browser extensions based on their storage addresses.
[0009] According to embodiments of this disclosure, in response to receiving M configuration files, determining a first set of policies and a second set of policies based on the M configuration files includes:
[0010] Parse M configuration files to obtain M configuration identifiers, where each identifier is an identifier for a browser extension described in a configuration file.
[0011] Based on M configuration identifiers, determine M configuration results for M browser extensions;
[0012] In response to determining that Q configuration results are the initial configurations, the original first group of policies and the original second group of policies are configured using configuration identifiers, and the first group of policies and the second group of policies are obtained and stored, where 1 ≤ Q ≤ M; and
[0013] In response to the determination that all M configuration results are not the first configuration, the first set of policies and the second set of policies are obtained.
[0014] According to embodiments of this disclosure, in response to determining that Q configuration results are initial configurations, configuring the original first group of policies and the original second group of policies using configuration identifiers, and obtaining and storing the first group of policies and the second group of policies, includes:
[0015] Obtain the original first set of policies and the original second set of policies;
[0016] Add Q first records to the original first policy group, and add Q second records to the original second policy group; and
[0017] Add Q configuration identifiers to Q first records to obtain and store the first set of policies, where each first record uniquely corresponds to a configuration identifier; and
[0018] Q configuration identifiers are added to Q second records to obtain and store the second set of policies, wherein each second record uniquely corresponds to a configuration identifier. According to an embodiment of this disclosure, before obtaining the original first set of policies and the original second set of policies, the method further includes: obtaining a first set of policy templates and a second set of policy templates based on the browser's function type; and
[0019] Configure language packs within the first and second policy templates to generate the original first and second policy sets.
[0020] According to embodiments of this disclosure, the first set of policies and the second set of policies update registry information at the same update interval.
[0021] Based on the first and second set of strategies, update the registry information of N terminal devices to obtain N updated registry information, including:
[0022] Calculate the time interval between the current moment and the most recent update moment, where the most recent update moment is the moment the registry information was updated before the current moment; and
[0023] If the time interval is equal to the update interval, N registry entries are updated according to the first set of strategies and the second set of strategies to obtain N updated registry entries. According to an embodiment of this disclosure, before updating the registry entries of N terminal devices according to the first set of strategies and the second set of strategies to obtain N updated registry entries, the process further includes:
[0024] Determine the user group to be configured with the browser extension. The user group includes K candidate terminal devices. The domain controller is used to control the candidate terminal devices, where 1 ≤ N ≤ K.
[0025] Based on the terminal device identifier, determine N terminal devices from K candidate terminal devices to be configured with the browser extension; and
[0026] The first set of policies and the second set of policies are linked to N terminal devices. A second aspect of this disclosure provides a method for distributing a browser extension, applied to a terminal device on which a target browser is installed; the method includes: receiving updated registry information from a domain controller, the updated registry information including a configuration identifier and storage address of the browser extension to be configured;
[0027] Based on the configuration identifier, download the browser extension version file from the storage address; and
[0028] Install the browser extension in the target browser according to the version file.
[0029] According to embodiments of this disclosure, the method further includes: in response to receiving an access request for accessing a target browser, while displaying the access page of the target browser to the user, confirming whether the browser extension is successfully configured based on updated registry information; and
[0030] If the browser extension is not configured successfully, a message will be returned, which includes the browser extension's storage location and installation process.
[0031] A third aspect of this disclosure provides a browser extension distribution device applied to a domain controller, the domain controller being used to control at least one terminal device; the device includes:
[0032] The first receiving module is used to respond to receiving M configuration files, and determine a first set of policies and a second set of policies based on the M configuration files. The configuration files include browser extensions, which are used to extend browser functionality. The first set of policies is used to allow terminal devices to install browser extensions, and the second set of policies is used to install browser extensions without prompting. M≥1.
[0033] The update module is used to update the registry information of N terminal devices according to the first set of policies and the second set of policies, so as to obtain N updated registry information. Among them, the N terminal devices are all terminal devices to be configured with browser extensions. The updated registry information includes the storage address of the browser extensions, and N≥1.
[0034] The sending module is used to distribute N updated registry information to N terminal devices so that the terminal devices can install browser extensions according to the storage address.
[0035] A fourth aspect of this disclosure provides a browser extension distribution device for use on a terminal device, the terminal device having a target browser installed; the device includes:
[0036] The second receiving module is used to receive updated registry information from the domain controller. The updated registry information includes the configuration identifier and storage address of the browser extension to be configured.
[0037] The download module is used to download the browser extension version file from the storage address based on the configuration identifier; and
[0038] A configuration module is provided for installing a browser extension in a target browser according to a version file. A fifth aspect of this disclosure provides an electronic device comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors perform the aforementioned browser extension distribution method.
[0039] A sixth aspect of this disclosure also provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, cause the processor to perform the aforementioned method for distributing browser extensions.
[0040] The seventh aspect of this disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method for distributing browser extensions.
[0041] According to embodiments of this disclosure, in response to receiving M configuration files, a first set of policies and a second set of policies are determined based on the M configuration files; the registry information of N terminal devices is updated according to the first set of policies and the second set of policies, resulting in N updated registry information; the N updated registry information are distributed to the N terminal devices respectively, so that the terminal devices can install browser extensions according to their storage addresses, thus realizing automatic configuration of browser extensions. Since this disclosure can batch install or configure M browser extensions on N terminal devices using group policy, eliminating the need for users to manually install a large number of browser extensions, it can greatly improve the operation steps and efficiency of installing or updating browser extensions for enterprise users with numerous types and needs for browser extensions, and enhance the user experience.
[0042] In addition, since users do not need to manually download browser extensions from the "Extension Store," they can download and install browser extensions from the application server through Group Policy, which to some extent solves the problem of network instability and network latency caused by multiple users downloading online. Attached Figure Description
[0043] The foregoing contents, as well as other objects, features, and advantages of this disclosure, will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0044] Figure 1 This illustration depicts an application scenario of a browser extension distribution method according to an embodiment of the present disclosure;
[0045] Figure 2 A flowchart illustrating a method for distributing a browser extension according to an embodiment of the present disclosure is shown schematically.
[0046] Figure 3 A flowchart illustrating a group policy configuration method according to an embodiment of the present disclosure is shown schematically.
[0047] Figure 4 A flowchart illustrating a method for distributing a browser extension according to another embodiment of the present disclosure is shown schematically;
[0048] Figure 5 This illustration schematically depicts a distribution process for a browser extension according to a specific embodiment of the present disclosure;
[0049] Figure 6 The schematic diagram illustrates a flowchart of a browser page verification method according to an embodiment of the present disclosure;
[0050] Figure 7 This schematically illustrates a structural block diagram of a browser extension distribution device applied to a domain controller according to an embodiment of the present disclosure;
[0051] Figure 8 This schematically illustrates a structural block diagram of a browser extension distribution device for a terminal device according to an embodiment of the present disclosure; and
[0052] Figure 9 A block diagram of an electronic device suitable for a browser extension distribution method according to an embodiment of the present disclosure is shown schematically. Detailed Implementation
[0053] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0054] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0055] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0056] When using expressions such as "at least one of A, B, and C", they should generally be interpreted in accordance with the meaning that is commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B, and C, etc.).
[0057] Browsers based on the Chromium engine differ significantly from Internet Explorer (IE) based on the Trident engine, particularly in areas such as layout compatibility, page functionality, file upload / download, print preview, and computer information retrieval. For IE, these functionalities can be achieved through plugins like ActiveX controls and Silverlight. However, Chromium-based browsers do not support ActiveX controls, Silverlight, or similar plugins.
[0058] For browsers other than Edge, a unified browser management platform can be used to install and update browser extensions. However, Edge lacks a unified management platform, and users typically install or update extensions manually. For enterprise users with significant browser extension needs, manually installing and updating extensions leads to complex procedures, low efficiency, and a poor user experience.
[0059] In addition, for enterprise users, due to the large number of users and the wide variety of browser extensions required by users, there may be issues such as network instability and delays in downloading browser extensions when a large number of users download browser extensions from the "Extension Store" at the same time.
[0060] Embodiments of this disclosure provide a method for distributing a browser extension, applied to a domain controller, the domain controller being used to control at least one terminal device; the method includes:
[0061] In response to receiving M configuration files, a first set of policies and a second set of policies are determined based on the M configuration files. The configuration files include browser extensions used to extend browser functionality. The first set of policies allows terminal devices to install browser extensions, and the second set of policies allows for silent installation of browser extensions, where M ≥ 1. Based on the first and second sets of policies, the registry information of N terminal devices is updated, resulting in N updated registry information entries. Each of the N terminal devices is a terminal device to which a browser extension is to be configured, and the updated registry information includes the storage address of the browser extension, where N ≥ 1. The N updated registry information entries are then distributed to the N terminal devices so that the terminal devices can install the browser extension according to the storage address. Figure 1 The illustration depicts an application scenario of a browser extension distribution method according to an embodiment of the present disclosure.
[0062] like Figure 1 As shown, the application scenario 100 according to this embodiment may include an application server 101, a domain controller 102, and a terminal device 103.
[0063] The browser extension provider can configure the browser extension configuration file for the first time on application server 101, or update the browser extension configuration file. After configuring or updating the browser extension configuration file on application server 101, application server 101 sends the storage address of the browser extension configuration file and the browser extension identifier to domain controller 102.
[0064] Application server 101 can be a single server or a server cluster comprising multiple servers. For example, Figure 1 As shown, application server 101 includes first application server 101-1, second application server 101-2, ... Nth application server 101-N. Each application server can be used to store configuration files for browser extensions.
[0065] Domain controller 102 is used to receive the storage address of the configuration file and the identifier of the browser extension from application server 101, and to configure the group policy corresponding to the browser extension.
[0066] Domain controller 102 can be a single server or a server cluster comprising multiple servers. For example, Figure 1 As shown, domain controller 102 includes a first domain controller 102-1, a second domain controller 102-2, ..., an Nth domain controller 101-N. Each domain controller can be used to configure group policies corresponding to browser extensions.
[0067] Specifically, the corresponding domain controller 102-1 can be determined based on the storage address of the browser extension; the corresponding domain controller 102-2 can be determined based on the storage date of the browser extension; and the corresponding domain controller 102-N can be randomly determined based on the identifier of the browser extension.
[0068] According to embodiments of this disclosure, the domain controller 102 is also used to control the terminal device 103 to configure or update browser extensions.
[0069] According to embodiments of this disclosure, application server 101 may include multiple identical application servers, and domain controller 102 may include multiple identical domain controllers. Terminal device 103 may include multiple types and multiple numbers of terminal devices.
[0070] Terminal device 103 may include multiple terminal devices. For example, such as Figure 1 As shown, the terminal device 103 includes a first terminal device 1031, a second terminal device 1032, a third terminal device 1033, and a fourth terminal device 1034.
[0071] The first terminal device 1031, the second terminal device 1032, the third terminal device 1033, and the fourth terminal device 1034 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, laptops, desktop computers, self-service devices, etc.
[0072] Various types of browser applications can be installed on the first terminal device 1031, the second terminal device 1032, the third terminal device 1033, and the fourth terminal device 1034. Users can operate using the browser applications on the first terminal device 1031, the second terminal device 1032, the third terminal device 1033, or the fourth terminal device 1034. Users can also configure or update browser extensions through the first terminal device 1031, the second terminal device 1032, the third terminal device 1033, or the fourth terminal device 1034.
[0073] Application server 101, domain controller 102, and terminal device 103 can communicate via a network. The network can include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0074] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, domain controllers, and application servers can be included.
[0075] The following will be based on Figure 1 The described scene, through Figures 2-6 The method for distributing browser extensions according to the disclosed embodiments will be described in detail.
[0076] Figure 2 A flowchart illustrating a method for distributing browser extensions according to an embodiment of the present disclosure is shown.
[0077] like Figure 2 As shown, the method includes operations S210 to S230 and can be applied to domain controllers.
[0078] According to embodiments of this disclosure, a domain controller is used to manage resources within a domain, assign access permissions, and authenticate users accessing the domain. The domain controller can control at least one terminal device within the domain.
[0079] For ease of understanding, a brief introduction to browser extensions and group policy is provided here.
[0080] A browser extension is software developed using web technologies to enhance and improve browser functionality. Specifically, browser extension providers can customize and develop browser extensions based on user needs using web technologies to improve browser functionality. A browser extension can be a compressed file with a .crx extension, which may contain data such as HTML, JS, CSS, and images.
[0081] Group Policy is a feature of Windows systems that allows developers to manage computers from a central management point. The most basic component of Group Policy is the settings for each policy, which defines how configuration changes will be applied.
[0082] In operation S210, in response to receiving M configuration files, a first set of policies and a second set of policies are determined based on the M configuration files, the configuration files including browser extensions.
[0083] According to embodiments of this disclosure, before the domain controller receives M configuration files, the provider packages the browser extension, generating an installation file (.crx file) and a private key file (.pem file) for the browser extension. The provider then configures the browser extension's version file on the application server based on the installation file and the private key file.
[0084] After configuring the browser extension on the application server, the application server generates a configuration file based on the browser extension's configuration identifier and storage address in the version file, and sends the configuration file to the domain controller.
[0085] According to embodiments of this disclosure, in response to receiving M configuration files, the domain controller determines a first set of policies and a second set of policies based on the configuration files, so as to complete the initial configuration or update of the browser extension according to the first set of policies and the second set of policies. Specifically, if it is determined that the browser extension to be configured is being configured for the first time, the first set of policies and the second set of policies are configured; if it is determined that the browser extension to be configured is not being configured for the first time, the first set of policies and the second set of policies for the first configuration are obtained.
[0086] According to embodiments of this disclosure, a first set of policies is used to allow terminal devices to install browser extensions, and a second set of policies is used to install browser extensions without prompting. The first and second sets of policies can be pre-built group policies or newly generated group policies during the initial configuration process.
[0087] During operation S220, based on the first set of policies and the second set of policies, the registry information of N terminal devices is updated, resulting in N updated registry information.
[0088] According to embodiments of this disclosure, the first set of policies and the second set of policies can define the execution logic of the terminal devices. After determining the first set of policies and the second set of policies, the domain controller can control the N terminal devices to be configured with the browser extension to update their registry information according to the execution logic defined by the first set of policies and the second set of policies, thereby obtaining N updated registry information.
[0089] According to embodiments of this disclosure, for a browser extension configured for the first time, the registry information does not include the browser extension's configuration identifier and storage address; the updated registry information includes the updated browser extension's configuration identifier and storage address. For browser extensions not configured for the first time, the registry information includes the browser extension's configuration identifier and storage address; updating the browser extension's storage address within the registry information yields updated registry information.
[0090] In operation S230, N update registry information entries are distributed to N terminal devices so that the terminal devices can install browser extensions according to the storage addresses in the update registry information.
[0091] According to embodiments of this disclosure, after updating the registry information based on the first set of policies and the second set of policies to obtain N updated registry information, the domain controller distributes the N updated registry information to N terminal devices so that the terminal devices can install browser extensions according to the storage address and configuration identifier in the updated registry.
[0092] Specifically, the terminal device downloads the version file from the storage address based on the browser extension's configuration identifier and installs the version file to achieve the initial configuration or update of the browser extension.
[0093] This disclosure achieves automatic configuration and installation of browser extensions by responding to the receipt of M configuration files, determining a first set of policies and a second set of policies based on the M configuration files, updating the registry information of N terminal devices according to the first set of policies and the second set of policies, obtaining N updated registry information, and distributing the N updated registry information to the N terminal devices respectively, so that the terminal devices can install browser extensions according to the storage address. Since this disclosure can batch install or configure M browser extensions on N terminal devices using group policy, eliminating the need for users to manually install a large number of browser configurations, it can greatly improve the operation steps and efficiency of installing or updating browser extensions for enterprise users with numerous types and needs for browser extensions, and enhance the user experience.
[0094] In addition, since users do not need to manually download browser extensions from the "Extension Store," they can download and install browser extensions from the application server through Group Policy, which to some extent solves the problem of network instability and network latency caused by multiple users downloading online.
[0095] According to embodiments of this disclosure, after the browser extension is installed on N terminal devices, the domain controller can also receive installation success or failure notifications from the terminal devices.
[0096] According to embodiments of this disclosure, when a browser extension is configured for the first time, its initial installation is achieved by configuring and executing Group Policy. When the browser extension is not configured for the first time, Group Policy can be executed directly to enable multiple updates of the browser extension.
[0097] According to embodiments of this disclosure, in response to receiving M configuration files, determining a first set of policies and a second set of policies based on the M configuration files includes: parsing the M configuration files to obtain M configuration identifiers, where each configuration identifier is an identifier of a browser extension; determining M configuration results corresponding to the M browser extensions based on the M configuration identifiers; in response to determining that Q configuration results are initial configurations, configuring the original first set of policies and the original second set of policies using the configuration identifiers, obtaining and storing the first set of policies and the second set of policies, where 1 ≤ Q ≤ M; and in response to determining that all M configuration results are non-initial configurations, obtaining the first set of policies and the second set of policies.
[0098] According to embodiments of this disclosure, the configuration identifier of a browser extension can be determined by parsing the configuration file, based on the browser extension included in the configuration file.
[0099] Based on the browser extension's configuration identifier, the domain controller can be searched for the browser extension corresponding to that identifier to determine the configuration result. The configuration result can then be used to determine whether the browser extension is being configured for the first time, and the first and second policy groups within the domain controller can be configured accordingly.
[0100] Specifically, for browser extensions configured for the first time, the domain controller configures a first set of policies and a second set of policies so that the configuration identifier and storage address of the newly configured browser extension are updated in the registry information. For browser extensions that are not configured for the first time, the first set of policies and the second set of policies configured for the first time are directly obtained to update the storage address of the browser extension in the registry information.
[0101] Because the provider packages the browser extension into a private key file, the configuration identifier for the browser extension's level does not change in the application server after each update. Therefore, in cases other than the initial configuration, updating the registry information does not involve updating the configuration identifier; it only updates the browser extension's storage address.
[0102] According to embodiments of this disclosure, the received M configuration files may simultaneously include multiple browser extensions configured for the first time and multiple browser extensions configured not for the first time.
[0103] Specifically, Q configuration results are determined as the initial configuration, and the original first group of policies and the original second group of policies are configured using configuration identifiers to obtain and store the first group of policies and the second group of policies.
[0104] When M=Q, it indicates that the browser extensions included in the M configuration files are all configured for the first time. Only the first group of policies and the second group of policies need to be configured according to the M browser extensions to update the registry information of the terminal device.
[0105] When all M configuration results are not the first configuration, it indicates that none of the browser extensions are configured for the first time. In this case, the first and second policies can be directly obtained, and the latest version of the browser extension can be installed without prompting through the first and second policies.
[0106] When 1 ≤ Q < M, it indicates that the browser extensions included in the Q configuration files are not configured for the first time, and the browser extensions in the (MQ) configuration files are not configured for the first time. Based on the original first and second sets of strategies, i.e., after configuring the (MQ) browser extensions, and after configuring the first and second sets of strategies according to the Q configuration files, the resulting first and second sets of strategies can install both the Q browser extensions configured for the first time and the (MQ) browser extensions configured for the first time.
[0107] Figure 3 A flowchart illustrating a group policy configuration method according to an embodiment of the present disclosure is shown schematically.
[0108] like Figure 3 As shown, the group policy configuration method of this embodiment includes operations S311 to S314, which can be used as a specific embodiment of operation S210 to describe the specific operations of configuring the first group policy and the second group policy according to M configuration files.
[0109] In operation S311, the original first set of policies and the original second set of policies are obtained.
[0110] According to embodiments of this disclosure, when a browser-friendly group policy is included in the domain controller, the original first group policy and the original second group policy can be directly obtained. The original first group policy and the original second group policy are the first and second group policies before the browser extension to be configured were configured.
[0111] For browser extensions configured for the first time, after obtaining the original first set of policies and the original second set of policies, the configuration of the first set of policies and the second set of policies of the browser extension to be configured is completed based on the original first set of policies and the original second set of policies.
[0112] In operation S312, add Q first records to the original first policy group and Q second records to the original second policy group.
[0113] According to embodiments of this disclosure, after obtaining the original first set of policies and the original second set of policies, by adding Q first records to the first set of policies and Q second records to the second set of policies, browser extensions are added to the control of the original first set of policies and the original second set of policies, thereby obtaining the first set of policies and the second set of policies, so as to install the Q browser extensions to be configured and update (MQ) browser extensions to be updated according to the first set of policies and the second set of policies.
[0114] The first record is used in the first policy group to allow the browser to install and update browser extensions listed in the first record. The second record is used to allow the browser to install and update browser extensions listed in the second record without prompting the user for the installation content.
[0115] In operation S313, Q configuration identifiers are added to Q first records to obtain and store the first set of policies.
[0116] In operation S314, Q configuration identifiers are added to Q second records to obtain and store the second set of policies.
[0117] According to embodiments of this disclosure, Q configuration identifiers uniquely correspond to Q first records, and Q configuration identifiers also uniquely correspond to Q second records, that is, each first record and each second record uniquely corresponds to a browser extension to be configured.
[0118] By adding the configuration identifiers of Q browser extensions to Q first and second records respectively, the configured first and second sets of policies can be obtained. Since for browser extensions that are not being configured for the first time, only the first and second sets of policies obtained during the initial configuration need to be retrieved directly, after completing the initial configuration and obtaining the first and second sets of policies, the first and second sets of policies are stored in a fixed storage address for easy retrieval when updating the browser extensions.
[0119] For example, if the Edge browser is already installed on the terminal device, when installing browser extension A on the Edge browser, the first set of policies that can be directly obtained is "Allow the installation of specific extensions" and the second set of policies is "Control extensions installed without prompting".
[0120] This disclosure overcomes the limitations of the Chromium kernel security mechanism by configuring the first and second records of the first and second policy groups by configuring identifiers, and enables batch installation of browser extensions on the domain controller, thereby improving installation efficiency.
[0121] Furthermore, since Group Policy installation and updates only involve configuring identifiers and do not update storage addresses, domain controllers can pre-download a large number of browser extensions through pre-installation. When users need to install or update browser extensions, they can directly obtain the browser extensions to be installed or updated without downloading them online. This avoids network instability caused by multiple users downloading online at the same time, improves network stability, and reduces waiting and installation time.
[0122] According to embodiments of this disclosure, before obtaining the original first set of policies and the original second set of policies, the method further includes: obtaining a first set of policy templates and a second set of policy templates based on the browser's function type; and configuring language packs within the first set of policy templates and the second set of policy templates to generate the original first set of policies and the original second set of policies.
[0123] According to embodiments of this disclosure, before obtaining the original first set of policies and the original second set of policies, the original first set of policies and the original second set of policies can be generated and stored using the first set of policy templates, the second set of policy templates, and language packs, so as to obtain the first set of policies and the second set of policies based on the original first set of policies and the original second set of policies.
[0124] According to embodiments of this disclosure, the first set of policies for installing browser extensions on terminal devices and the second set of policies for canceling installation prompts differ for different types of browsers. Therefore, based on the browser's feature type, a group policy template package corresponding to the browsers installed on N terminal devices is downloaded from a preset address. The group policy template package includes a first group policy template and a second group policy template.
[0125] Specifically, after downloading the Group Policy template package, the package is restored and decompressed, and the decompressed files are added to the default folder of the domain controller to obtain the first and second group policy templates.
[0126] For example, you can copy the extracted msedge.admx and msedgeupdate.admx files to the address %systemroot%\PolicyDefinitions.
[0127] After obtaining the first and second policy templates, the language packs are configured in both. For example, the msedge.adml and msedgeupdate.adml files from the en-us and zh-cn language packs are copied to the corresponding language packs under PolicyDefinitions to configure the language packs.
[0128] After configuring the language pack, you can generate the original first group policy and the original second group policy by creating a group policy object.
[0129] This disclosure generates corresponding first and second group policies by obtaining group policy templates from sources other than domain controllers or terminal devices. This not only allows for flexible modification of group policies but also ensures that the installation and updates of browser extensions are compatible with various browser policies, thereby improving the configuration flexibility and breadth of browser extensions.
[0130] According to embodiments of this disclosure, based on a first set of strategies and a second set of strategies, the registry information of N terminal devices is updated to obtain N updated registry information, including:
[0131] Calculate the time interval between the current time and the most recently updated time; and
[0132] Given that the time interval is equal to the update interval, according to the first set of strategies and the second set of strategies, update the N registry information of N terminal devices to obtain N updated registry information.
[0133] According to embodiments of this disclosure, since the first set of policies and the second set of policies update the registry information with the same update interval, after configuring the first set of policies and the second set of policies, the registry information corresponding to N terminal devices can be updated according to the update interval of the first set of policies and the second set of policies. The update interval of the first set of policies is equal to the update interval of the second set of policies; for example, the update interval can be 60 minutes, 90 minutes, etc.
[0134] For example, taking an update interval of 90 minutes as an example. The current time is 12:30, and the most recent update time of the N registry entries before the current time is 11:30. The difference between the most recent update time and the current time is less than the update interval, so the N registry entries will not be updated according to the first group of policies and the second group of policies.
[0135] If the most recent update time is 11:00, the difference between the most recent update time and the current time is equal to the update interval. Based on the first set of strategies and the second set of strategies, N registry entries are updated to obtain N updated registry entries.
[0136] This disclosure enables polling and updating of registry information through Group Policy update intervals, allowing browser extensions to be installed silently without user intervention, thus improving user experience.
[0137] According to embodiments of this disclosure, before updating the registry information of N terminal devices according to the first set of strategies and the second set of strategies to obtain N updated registry information, the method further includes:
[0138] Determine the user group to be configured with the browser extension. The user group includes K candidate terminal devices. The domain controller is used to control the candidate terminal devices in the user group, where 1 ≤ N ≤ K.
[0139] Based on the terminal device identifier, determine N terminal devices from K candidate terminal devices to be configured with the browser extension; and
[0140] Link the first set of policies and the second set of policies to N terminal devices.
[0141] According to embodiments of this disclosure, a domain controller can control K candidate terminal devices within a domain. A pre-established association between the candidate terminal devices and the domain controller enables the domain controller to control the K candidate terminal devices. This association may include the device identifier of the candidate terminal device and the browser configuration information on the candidate terminal device.
[0142] The domain controller can obtain the device identifiers and browser configuration information of K candidate terminal devices based on the association relationship between the candidate terminal devices and the domain controller. Then, based on the browser configuration information, it determines N terminal devices for which browser extensions need to be configured, and selects N terminal devices for which browser extensions need to be configured from the K candidate terminal devices based on the configuration identifiers.
[0143] According to embodiments of this disclosure, after configuring the first group policy and the second group policy, and before updating the registry information according to the first group policy and the second group policy, the group policy is linked to the user group where the policy needs to be deployed. The first group policy and the second group policy will update the registry information of the terminal device according to the update interval, so that the terminal device can access the version file according to the URL in the registry information.
[0144] When a version file is updated, the terminal device retrieves the new browser extension from the URL. This disclosure allows for batch updates of browser extensions by simply modifying the browser extension version information and storage address in the configuration file, making the configuration file point to the updated browser extension, without requiring modifications to Group Policy.
[0145] The second method disclosed herein provides a method for distributing a browser extension, applied to a terminal device having a target browser installed on it; the method includes: receiving updated registry information from a domain controller, the updated registry information including a configuration identifier and a storage address of the browser extension to be configured; downloading a version file of the browser extension from the storage address according to the configuration identifier; and installing the browser extension in the target browser according to the version file.
[0146] Figure 4A flowchart illustrating a method for distributing a browser extension according to another embodiment of the present disclosure is shown.
[0147] like Figure 4 As shown, this embodiment includes operations S410 to S430.
[0148] When operating S410, it receives updated registry information from the domain controller. The updated registry information includes the configuration identifier and storage address of the browser extension to be configured.
[0149] When operating the S420, the browser extension version file is downloaded from the storage address based on the configuration identifier.
[0150] When operating the S430, install the browser extension in the target browser according to the version file.
[0151] According to embodiments of this disclosure, after receiving updated registry information from the domain controller, the terminal device downloads the browser extension version file from a storage address based on the configuration identifier of the browser extension to be configured in the updated registry information. The browser extension version file downloaded from the storage address can be either the version file of a browser extension configured for the first time, or it can be the latest version of the browser extension that has not been configured for the first time.
[0152] When it is determined that the browser extension to be configured is not installed on the terminal device based on the configuration identifier of the browser extension, that is, the browser extension is being configured for the first time, the browser extension is installed according to the version file and installation process.
[0153] If the browser extension is determined to be a non-first-time configuration based on the configuration identifier, the browser extension version file is downloaded from the preset address, and the browser extension is updated according to the version file.
[0154] Since the version file can be pre-configured at the storage address, and the configuration identifier in the updated registry information does not change during the browser extension update process, when multiple terminal devices are simultaneously installing or updating browser extensions online, each terminal device can directly obtain the version file from the storage address without having to download the version file online at the same time. This eliminates the need for waiting and allows for the installation and updating of browser extensions, reducing installation time and improving user experience.
[0155] According to embodiments of this disclosure, if it is determined that the browser extension is installed or updated successfully, an installation success flag can be sent to the domain controller; if it is determined that the browser extension is not installed or updated successfully, an installation failure flag can be sent to the domain controller.
[0156] Figure 5 The illustration shows a schematic diagram of the distribution process of a browser extension according to a specific embodiment of the present disclosure.
[0157] like Figure 5 As shown, the distribution process includes operations S510 to S580.
[0158] Operate S510, begin.
[0159] Operate the S520 to package a browser extension.
[0160] Is this the first time configuring the S530?
[0161] Operate the S540, deploy the configuration file, and send the configuration file and browser extension ID to the domain controller.
[0162] Operate the S550 and update the configuration file.
[0163] Operate S560, configure group policies on the domain controller.
[0164] The S570 was operated, and the registry information was successfully updated.
[0165] Operation S580, end.
[0166] According to embodiments of this disclosure, the configuration or update process of a browser extension begins in operation S510; in operation S520, the provider packages the browser extension, generating .crx and .pem files, and creates a version file update.xml based on the .crx and .pem files. The version file update.xml includes the browser extension's extension identifier, such as ID, storage address, such as URL, and version information, such as "2.0.0.5". During the initial deployment or update of the packaged browser extension, the .pem file needs to be imported to ensure that the browser extension's ID remains unchanged.
[0167] The S530 process determines whether the browser extension is being configured for the first time. If it is, the S540 process deploys the configuration file and sends the configuration file and browser extension ID to the domain controller. Specifically, an extension directory is created on the application server, and the .crx file and the update.xml version file are added to this directory. The storage address of the version file and the browser extension ID are then sent to the domain controller.
[0168] For example, the application server can be an Internet Information Services (IIS) server, which sends the storage address of the version file and the ID of the browser extension to the domain controller via HTTP.
[0169] In operation S540, after the domain controller receives the storage address of the version file and the browser extension ID, it configures the first and second policy groups according to the browser extension's configuration identifier, and links the first and second policy groups to the N terminal devices for which the browser extension is to be configured. The registry information is then updated according to the first and second policy groups. After the registry information is successfully updated in operation S560, the configuration or update of the browser extension in the terminal devices is complete, and operation S580 concludes.
[0170] If the browser extension is not configured for the first time, proceed to update the S570 configuration file. Specifically, update the storage location of the updated version file in the configuration file and send the updated configuration file to the domain controller. The domain controller can then update the registry information based on the first and second policy groups configured during the initial configuration process.
[0171] According to embodiments of this disclosure, after the domain controller has configured the first and second sets of policies, the terminal device can install and update browser extensions based on the updated registry information. However, since the first and second sets of policies update the registry information based on the update interval, the registry information cannot be updated via group policies between the completion of the last update and the start of the next update.
[0172] According to embodiments of this disclosure, by reducing the update interval, the problem of users being unable to use browser extensions due to non-real-time updates of registry information can be avoided.
[0173] According to embodiments of this disclosure, the problem of users being unable to use browser extensions due to non-real-time updates of registry information can also be avoided by using a page verification method.
[0174] According to embodiments of this disclosure, the method further includes: in response to receiving an access request for a target browser, while displaying the access page of the target browser to the user, confirming whether the browser extension has been successfully installed or updated based on an updated registry; and
[0175] If the browser extension is determined to have failed to install or update, a prompt message will be returned, which includes the storage location of the browser extension and the installation process.
[0176] Figure 6 The illustration shows a schematic flowchart of a browser page verification method according to an embodiment of the present disclosure.
[0177] like Figure 6 As shown, the page verification method provided in this embodiment includes operations S610 to S650.
[0178] Operating the S610, the user accesses a browser page.
[0179] When operating the S620, should the latest version of the browser extension be installed?
[0180] Operate S630 to return and display a prompt message.
[0181] Operate the S640 to install or update the latest version of the browser extension.
[0182] Operate the S650 to continue accessing the browser page.
[0183] According to embodiments of this disclosure, a user can normally access a browser page through clicks or other operations in S610. In operation S620, the terminal device, in response to receiving an access request for the target browser, returns the access page corresponding to the request and determines whether the latest version of the browser extension is installed. If it is determined that the browser has the latest version of the browser extension installed, operation S650 is entered, and the user can continue to access the browser page through various operations.
[0184] If it is determined that the browser does not have the latest version of the browser extension installed, operation S630 is initiated, and the terminal device returns and displays a prompt message to the user. This prompt message includes the storage location of the browser extension and the installation process. In this case, the browser extension version file in the storage location is in zip file format to support manual installation or updating of the latest version by the user.
[0185] When operating the S640, users can obtain the browser extension version file from the storage address according to the installation process displayed on the terminal device, and install or update the latest version of the browser extension according to the installation process.
[0186] This disclosure verifies whether the latest extension is installed by checking the browser page, which solves the problem that users cannot use browser extensions normally due to the Group Policy update interval and the policy not taking effect, thus improving the user experience.
[0187] Figure 7 The diagram illustrates a structural block diagram of a browser extension distribution device applied to a domain controller according to an embodiment of the present disclosure.
[0188] like Figure 7 As shown, the browser extension distribution device 700 applied to a domain controller in this embodiment includes a first receiving module 710, an updating module 720, and a sending module 730.
[0189] The first receiving module 710 is configured to, in response to the fact that the browser extensions included in the received M configuration files are configured for the first time, determine a first set of policies and a second set of policies based on the M configuration files, wherein the configuration files include browser extensions used to extend browser functionality, the first set of policies is used to allow the terminal device to install the browser extensions, and the second set of policies is used to install the browser extensions without prompting, and M≥1. In one embodiment, the first receiving module 710 may be used to perform the operation S210 described above, which will not be repeated here.
[0190] The update module 720 is used to update the registry information of N terminal devices according to the first set of policies and the second set of policies, thereby obtaining N updated registry information. The N terminal devices are all terminal devices for which browser extensions are to be configured, and the updated registry information includes the storage address of the browser extension. In one embodiment, the update module 720 can be used to perform the operation S220 described above, which will not be repeated here.
[0191] The sending module 730 is used to distribute N updated registry information to N terminal devices, so that the terminal devices can install browser extensions according to the storage address. In one embodiment, the sending module 730 can be used to perform the operation S230 described above, which will not be repeated here.
[0192] According to an embodiment of this disclosure, the first receiving module 710 includes a configuration determining module, which includes a parsing submodule, a configuration determining submodule, a configuration submodule, and an acquisition submodule.
[0193] The parsing submodule is used to parse M configuration files and obtain M configuration identifiers, which are the identifiers of browser extensions within the configuration files.
[0194] The configuration determination submodule is used to determine the M configuration results corresponding to the M browser extensions based on the M configuration identifiers.
[0195] The configuration submodule is used to respond to determining that Q configuration results are the first configuration, configure the original first group of policies and the original second group of policies using configuration identifiers, obtain and store the first group of policies and the second group of policies, 1≤Q≤M.
[0196] The acquisition submodule is used to acquire the first set of policies and the second set of policies in response to the determination that all M configuration results are not the first configuration.
[0197] According to embodiments of this disclosure, the configuration submodule includes an acquisition unit, a new addition unit, a first addition unit, and a second addition unit.
[0198] The acquisition unit is used to acquire the original first set of policies and the original second set of policies. In one embodiment, the acquisition unit can be used to perform the operation S311 described above, which will not be repeated here.
[0199] The addition unit is used to add Q first records in the first set of strategies and Q second records in the second set of strategies. In one embodiment, the addition unit can be used to perform the operation S312 described above, which will not be repeated here.
[0200] The first adding unit is used to add Q configuration identifiers to Q first records to obtain and store the first set of policies, wherein each first record uniquely corresponds to a configuration identifier. In one embodiment, the first adding unit can be used to perform the operation S313 described above, which will not be repeated here.
[0201] The second adding unit is used to add Q configuration identifiers to Q second records to obtain and store the second set of policies, wherein each second record uniquely corresponds to a configuration identifier. In one embodiment, the first adding unit can be used to perform the operation S314 described above, which will not be repeated here.
[0202] According to embodiments of this disclosure, the first receiving module 710 further includes a template acquisition unit and a group policy determination unit.
[0203] The template retrieval unit is used to retrieve the first set of policy templates and the second set of policy templates based on the browser's functionality.
[0204] The group policy determination unit is used to configure language packs within the first group policy template and the second group policy template, and to generate the original first group policy and the original second group policy.
[0205] According to embodiments of this disclosure, the update module 720 includes a calculation unit and an update unit.
[0206] The calculation unit is used to calculate the time interval between the current time and the most recent update time, where the most recent update time is the time when the registry information was updated before the current time.
[0207] The update unit is used to update N registry entries according to the first set of strategies and the second set of strategies, when the time interval is equal to the update interval, to obtain N updated registry entries.
[0208] According to embodiments of this disclosure, the browser extension distribution device 700 applied to a domain controller further includes a linking module. The linking module includes a user group determination unit, a device determination unit, and a linking unit.
[0209] The user group determination unit is used to determine the user group to be configured with the browser extension. The user group includes K candidate terminal devices. The domain controller is used to control the candidate terminal devices within the user group, where 1≤N≤K.
[0210] The device determination unit is used to determine N terminal devices to be configured with browser extensions from K candidate terminal devices based on the terminal device identifier.
[0211] The linking unit is used to link the first set of policies and the second set of policies to N terminal devices.
[0212] According to embodiments of this disclosure, any plurality of modules among the first receiving module 710, updating module 720, and transmitting module 730 may be combined into one module, or any one of these modules may be split into multiple modules. Alternatively, at least a portion of the functionality of one or more of these modules may be combined with at least a portion of the functionality of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the first receiving module 710, updating module 720, and transmitting module 730 may be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or implemented by any other reasonable means of integrating or packaging circuitry, or implemented in any one of software, hardware, and firmware methods, or in a suitable combination of any of these. Alternatively, at least one of the first receiving module 710, updating module 720, and transmitting module 730 may be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.
[0213] Figure 8 The diagram illustrates a structural block diagram of a browser extension distribution device for a terminal device according to an embodiment of the present disclosure.
[0214] like Figure 8 As shown, the browser extension distribution device 800 for terminal devices in this embodiment includes a second receiving module 810, a download module 820, and a configuration module 830.
[0215] The second receiving module 810 is used to receive updated registry information from the domain controller. The updated registry information includes the configuration identifier and storage address of the browser extension to be configured. In one embodiment, the second receiving module 810 can be used to perform the operation S410 described above, which will not be repeated here.
[0216] Download module 820 is used to download the version file of the browser extension from the storage address according to the configuration identifier. In one embodiment, download module 820 can be used to perform the operation S420 described above, which will not be repeated here.
[0217] Configuration module 830 is used to install browser extensions in the target browser according to the version file. In one embodiment, configuration module 830 can be used to perform the operation S430 described above, which will not be repeated here.
[0218] According to embodiments of this disclosure, the browser extension distribution device 800 applied to a terminal device further includes a verification module and a prompting module.
[0219] The verification module, in response to a received access request for accessing the target browser, displays the access page of the target browser to the user and verifies whether the browser extension is configured successfully based on an updated registry.
[0220] The prompt module is used to return a prompt message when it is determined that the browser extension has not been configured successfully. The prompt message includes the storage location of the browser extension and the installation process.
[0221] According to embodiments of this disclosure, any plurality of modules among the second receiving module 810, download module 820, and configuration module 830 may be combined into one module, or any one of these modules may be split into multiple modules. Alternatively, at least a portion of the functionality of one or more of these modules may be combined with at least a portion of the functionality of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the second receiving module 810, download module 820, and configuration module 830 may be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or implemented in hardware or firmware by any other reasonable means of integrating or packaging circuitry, or implemented in any one of software, hardware, and firmware methods, or in a suitable combination of any of these. Alternatively, at least one of the second receiving module 810, download module 820, and configuration module 830 may be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.
[0222] Figure 9 A block diagram of an electronic device suitable for a browser extension distribution method according to an embodiment of the present disclosure is shown schematically.
[0223] like Figure 9As shown, an electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage portion 908 into a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0224] RAM 903 stores various programs and data required for the operation of electronic device 900. Processor 901, ROM 902, and RAM 903 are interconnected via bus 904. Processor 901 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 902 and / or RAM 903. It should be noted that the programs may also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in said one or more memories.
[0225] According to embodiments of this disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to a bus 904. The electronic device 900 may also include one or more of the following components connected to the I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 910 as needed so that computer programs read from it can be installed into the storage section 908 as needed.
[0226] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.
[0227] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, 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. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 902 and / or RAM 903 and / or one or more memories other than ROM 902 and RAM 903 described above.
[0228] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to enable the computer system to implement the browser extension distribution method provided in embodiments of this disclosure.
[0229] When the computer program is executed by the processor 901, it performs the functions defined in the system / apparatus of this disclosure embodiments. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0230] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 909, and / or installed from a removable medium 911. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0231] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, it performs the functions defined in the system of this disclosure embodiment. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0232] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0233] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0234] Those skilled in the art will understand that the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. In particular, the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0235] The specific embodiments described above further illustrate the purpose, technical solutions, and beneficial effects of this disclosure. It should be understood that the above descriptions are merely specific embodiments of this disclosure and are not intended to limit this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the protection scope of this disclosure.
Claims
1. A method for distributing a browser extension, applied to a domain controller, the domain controller being used to control at least one terminal device; the method comprising: In response to receiving M configuration files, a first set of policies and a second set of policies are determined based on the M configuration files, wherein the configuration files include browser extensions, the browser extensions are used to extend browser functionality, the first set of policies is used to allow terminal devices to install the browser extensions, and the second set of policies is used to install the browser extensions without prompting, where M≥1; Based on the first set of strategies and the second set of strategies, update the registry information of N terminal devices to obtain N updated registry information, wherein all N terminal devices are terminal devices for which the browser extension is to be configured, and the updated registry information includes the storage address of the browser extension, where N≥1; and The N updated registry entries are distributed to the N terminal devices respectively, so that the terminal devices can install the browser extension according to the storage address; The response to receiving M configuration files, and determining a first set of policies and a second set of policies based on the M configuration files, includes: Parse the M configuration files to obtain M configuration identifiers, where each configuration identifier is an identifier of the browser extension within the configuration file; Based on the M configuration identifiers, determine the M configuration results corresponding to the M browser extensions; In response to determining that Q configuration results are initial configurations, the original first set of policies and the original second set of policies are configured using the configuration identifiers, and the first set of policies and the second set of policies are obtained and stored, 1 ≤ Q ≤ M; and In response to determining that all M configuration results are not the first configuration, the first set of policies and the second set of policies are obtained.
2. The method according to claim 1, wherein, The step of responding to determining that Q configuration results are the first configuration, configuring the original first group of policies and the original second group of policies using the configuration identifier, and obtaining and storing the first group of policies and the second group of policies includes: Obtain the original first set of policies and the original second set of policies; Add Q first records to the original first set of strategies, and add Q second records to the original second set of strategies; and Add the Q configuration identifiers to the Q first records to obtain and store the first set of policies, wherein the first record uniquely corresponds to the configuration identifier; and Add the Q configuration identifiers to the Q second records to obtain and store the second set of policies, wherein the second record uniquely corresponds to the configuration identifier.
3. The method according to claim 2, wherein, Before obtaining the original first set of policies and the original second set of policies, the method further includes: Based on the browser's functionality, retrieve the first set of policy templates and the second set of policy templates; and Configure language packs within the first set of policy templates and the second set of policy templates to generate the original first set of policies and the original second set of policies.
4. The method according to claim 1, wherein, The first set of strategies and the second set of strategies update the registry information at the same update interval. The step of updating the registry information of N terminal devices according to the first set of strategies and the second set of strategies, resulting in N updated registry information, includes: Calculate the time interval between the current time and the most recent update time, where the most recent update time is the time when the registry information was updated before the current time; and If the time interval is determined to be equal to the update interval, N registry entries are updated according to the first set of strategies and the second set of strategies to obtain N updated registry entries.
5. The method according to claim 1, wherein, Before updating the registry information of N terminal devices according to the first set of policies and the second set of policies to obtain N updated registry information, the method further includes: Determine the user group to be configured with the browser extension, the user group includes K candidate terminal devices, the domain controller is used to control the candidate terminal devices, 1≤N≤K; Based on the terminal device identifier, N terminal devices to be configured with the browser extension are determined from the K candidate terminal devices; and Link the first set of policies and the second set of policies to N terminal devices.
6. A method for distributing a browser extension, applied to a terminal device, wherein a target browser is installed on the terminal device; the method includes: Receive updated registry information from the domain controller, the updated registry information including the configuration identifier and storage address of the browser extension to be configured; Based on the configuration identifier, download the version file of the browser extension from the storage address; as well as According to the version file, install the browser extension in the target browser; Wherein, the updated registry information is one of M updated registry information obtained by the domain controller updating N registry information of N terminal devices according to the first group policy and the second group policy; the first group policy and the second group policy are determined in the following manner: parsing M configuration files to obtain M configuration identifiers, the configuration identifiers being the identifiers of the browser extensions in the configuration files; determining M configuration results corresponding to the M browser extensions according to the M configuration identifiers; in response to determining that Q of the configuration results are initial configurations, configuring the original first group policy and the original second group policy using the configuration identifiers, obtaining and storing the first group policy and the second group policy, 1≤Q≤M; and in response to determining that all M of the configuration results are non-initial configurations, obtaining the first group policy and the second group policy; the configuration file includes the browser extension, the browser extension is used to extend browser functionality, the first group policy is used to allow terminal devices to install the browser extension, the second group policy is used to install the browser extension without prompting, M≥1.
7. The method according to claim 6, further comprising: In response to receiving an access request for accessing the target browser, while displaying the access page of the target browser to the user, the system confirms whether the browser extension has been successfully configured based on the updated registry information. as well as If the browser extension is determined to have failed to be configured, a prompt message is returned, which includes the storage address of the browser extension and the installation process.
8. A browser extension distribution device, applied to a domain controller, the domain controller being used to control at least one terminal device; the device comprising: A first receiving module is configured to, in response to receiving M configuration files, determine a first set of policies and a second set of policies based on the M configuration files, wherein the configuration files include browser extensions, the browser extensions are used to extend browser functionality, the first set of policies is used to allow terminal devices to install the browser extensions, and the second set of policies is used to install the browser extensions without prompting, where M≥1; An update module is used to update the registry information of N terminal devices according to the first set of policies and the second set of policies to obtain N updated registry information, wherein the N terminal devices are all terminal devices to be configured with the browser extension, and the updated registry information includes the storage address of the browser extension, and N≥1; A sending module is configured to distribute N updated registry information entries to N terminal devices respectively, so that the terminal devices can install the browser extension according to the storage address; The first receiving module is further configured to: parse M configuration files to obtain M configuration identifiers, wherein the configuration identifiers are identifiers of the browser extensions within the configuration files; determine M configuration results corresponding to the M browser extensions based on the M configuration identifiers; in response to determining that Q configuration results are initial configurations, configure an original first set of policies and an original second set of policies using the configuration identifiers, obtain and store the first set of policies and the second set of policies, where 1 ≤ Q ≤ M; and in response to determining that all M configuration results are non-initial configurations, obtain the first set of policies and the second set of policies.
9. A browser extension distribution device, applied to a terminal device, wherein a target browser is installed on the terminal device; the device comprises: The second receiving module is used to receive updated registry information from the domain controller, wherein the updated registry information includes the configuration identifier and storage address of the browser extension to be configured; The download module is used to download the version file of the browser extension from the storage address according to the configuration identifier; as well as The configuration module is used to install the browser extension in the target browser according to the version file; Wherein, the updated registry information is one of M updated registry information obtained by the domain controller updating N registry information of N terminal devices according to the first group policy and the second group policy; the first group policy and the second group policy are determined in the following manner: parsing M configuration files to obtain M configuration identifiers, the configuration identifiers being the identifiers of the browser extensions in the configuration files; determining M configuration results corresponding to the M browser extensions according to the M configuration identifiers; in response to determining that Q of the configuration results are initial configurations, configuring the original first group policy and the original second group policy using the configuration identifiers, obtaining and storing the first group policy and the second group policy, 1≤Q≤M; and in response to determining that all M of the configuration results are non-initial configurations, obtaining the first group policy and the second group policy; the configuration file includes the browser extension, the browser extension is used to extend browser functionality, the first group policy is used to allow terminal devices to install the browser extension, the second group policy is used to install the browser extension without prompting, M≥1.
10. An electronic device, comprising: One or more processors; Storage device for storing one or more programs. Wherein, when the one or more programs are executed by the one or more processors, the one or more processors perform the method according to any one of claims 1 to 7.
11. A computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 7.
12. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Integration method of extension programs in browser, computing equipment and storage medium
CN113885965A