A property configuration tool suitable for ZeroC-ICE

By using ZeroC-ICE's property configuration tool and leveraging the visual interface of the Ice property data module and proxy module to manage Ice properties, the problems of high complexity and low efficiency in property configuration are solved, achieving efficient and flexible property management and reducing the complexity of development and testing.

CN116610356BActive Publication Date: 2026-04-21BEIJING INST OF COMP TECH & APPL
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INST OF COMP TECH & APPL
Filing Date
2023-03-20
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

The existing ZeroC-ICE development process suffers from high complexity, lack of flexibility, and low efficiency in attribute configuration across multiple application scenarios.

Method used

This document provides an attribute configuration tool for ZeroC-ICE, including an Ice attribute data module, a proxy module, and an Ice application configuration interface. It enables management of Ice attributes through a visual interface and supports attribute search, configuration for multiple application scenarios, and function customization.

Benefits of technology

It reduces the complexity of Ice property configuration, improves the efficiency and flexibility of property configuration, reduces errors in development and testing, and saves development and maintenance time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116610356B_ABST
    Figure CN116610356B_ABST
Patent Text Reader

Abstract

The application relates to a property configuration tool suitable for ZeroC-ICE and belonging to the field of data management. The tool is composed of an Ice property data module, an Ice application configuration interface and an agent module and is run on a general computer platform. The Ice application configuration interface realizes property configuration, property configuration in a multi-application scenario, property search, saving of an Ice property configuration file, property reconfiguration through loading of a configuration file and selection of Ice functions to customize properties through the agent module. The application effectively manages more than 1000 property data of Ice in a visualized manner, solves the problems of inflexibility, low efficiency and easy errors in traditional manual Ice property configuration, is friendly in interface and convenient to use, reduces the complexity of Ice property configuration, improves development and test efficiency and saves time of development and maintenance personnel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of application, specifically relating to a property configuration tool applicable to ZeroC-ICE. Background Technology

[0002] ZeroC-ICE is a lightweight distributed platform middleware developed by ZeroC Corporation. It supports high-performance RPC calls between multiple languages, secure communication, and cross-platform communication. Ice provides a powerful IceGrid service, supporting master-slave backup of the service registry center, eliminating single points of failure, enabling on-demand service startup, easy scaling and migration, and a comprehensive load balancing mechanism. The official Ice source code defines over 1000 configuration properties in the `ice-3.xx\cpp\src\Ice\PropertyNames` file. By flexibly configuring these properties, users can utilize various Ice component functions and services.

[0003] Configurable components of Ice include the Ice GridNode, Ice GridRegistry, Glacier2 (firewall and routing service), IceBridge (routing service), IceBox (hosting service server), IceStorm (publish / subscribe service), IcePatch2 (file patching service), and IceGridAdmin (grid management client); it also includes Ice plugins such as the SSL plugin, IceDiscovery (object and object adapter self-discovery plugin), and IceLocatorDiscovery (locator self-discovery plugin); when using Ice, developers also need to configure the client and server properties according to the required functions.

[0004] The property configuration in the Ice development process has the following characteristics: (1) High threshold for use, beginners find it difficult to find the configuration properties corresponding to the required functions; (2) Limited official Ice documentation: Ice does not define the configuration properties required for Client or Server, and the properties of other components are not fully categorized. In actual development, for Ice property configuration, users often use the method of manually writing the configuration properties corresponding to the required functions of each component into a file, which has the following problems: (1) High complexity of property configuration: Given that accurate property configuration requires high ability from developers, even if users refer to the pre-classified component classification files, there is too much redundant property information for a certain function, requiring a lot of effort and time to configure the function properties; (2) Lack of flexibility in property configuration: Manually generating property configuration files and opening property files for configuration is not user-friendly; it is inconvenient to accurately find a certain property from a large amount of property information; (3) Low efficiency of property configuration in multi-scenario applications: In development and testing, because multi-scenario applications require multiple sets of property configurations, manually managing multiple sets of configuration files is inefficient and prone to errors; traditional parameter configuration tools obtain multiple sets of configuration data or files, and need to clear the original configuration data, which also has the problem of low efficiency. Summary of the Invention

[0005] (a) Technical problems to be solved

[0006] The technical problem to be solved by this invention is how to provide an attribute configuration tool suitable for ZeroC-ICE, so as to solve the problems of high complexity, lack of flexibility and low efficiency of attribute configuration in multiple application scenarios in the existing Ice development process.

[0007] (II) Technical Solution

[0008] To address the aforementioned technical problems, this invention proposes an attribute configuration tool suitable for ZeroC-ICE, which includes: an Ice attribute data module, a proxy module, and an Ice application configuration interface;

[0009] The Ice attribute data module includes: Ice component attribute templates, function template sequence files, and Ice function attribute templates; Ice component attribute templates are used to store the attributes of each Ice component after classification; Ice function attribute templates are used to store the component attributes corresponding to each Ice function;

[0010] The Ice application configuration interface includes: an application tree window, a property configuration window, and a function selection window. The property configuration window includes property configuration pages for each Ice component, used for visual property configuration of each component, and allows searching and displaying component properties on the configuration interface. The application tree window is used to create multiple Ice applications, with each application corresponding to a set of Ice components. After configuring the properties of each component in the property configuration window, the corresponding configuration file is saved; it can also load local configuration files for further property configuration. The function selection window is used to precisely customize the configuration properties of one or more functions, which are then displayed in front of the property configuration window. The list of function names in the function selection window comes from the function template sequence file of the Ice property data module.

[0011] The proxy module includes a main proxy and sub-proxies. The main proxy represents the operation changes in the Ice application configuration interface; each component's property configuration page corresponds to a sub-proxygen, and each sub-proxygen handles the changes in the Ice property data of its corresponding component.

[0012] The Ice application configuration interface uses a proxy module to implement attribute configuration, multi-application scenario attribute configuration, attribute search, saving attribute configuration files, loading configuration files for attribute reconfiguration, and function selection for customized attributes.

[0013] (III) Beneficial Effects

[0014] This invention proposes an attribute configuration tool and method for ZeroC-ICE, effectively managing over a thousand Ice attributes through a visual interface. This solves the problems of inflexibility, low efficiency, and error-proneness associated with traditional manual Ice attribute configuration. Attributes can be searched, improving the efficiency of finding specific attributes among a large number of options. Customized attribute configurations for Ice functions are possible, offering a developer-friendly and convenient interface that reduces the complexity of Ice attribute configuration. Attribute configuration across multiple application scenarios does not require data clearing and reconfiguration, improving development and testing efficiency. Maintenance of component and functional attribute templates does not require attention to the source code, saving time for development and maintenance personnel. Attached Figure Description

[0015] Figure 1 This is an architecture diagram of the Ice attribute configuration tool of the present invention;

[0016] Figure 2 Example of the interface for configuring Ice properties;

[0017] Figure 3 Example of an attribute XML template;

[0018] Figure 4This is an example of a functional template sequence file. Detailed Implementation

[0019] To make the objectives, contents, and advantages of the present invention clearer, the specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples.

[0020] To address the aforementioned technical problems, this invention proposes an attribute configuration method and tool applicable to ZeroC-ICE. The tool includes an Ice attribute data module, a proxy module, and an Ice application configuration interface.

[0021] The Ice attribute data module includes: Ice component attribute templates, function template sequence files, and Ice function attribute templates; Ice component attribute templates are used to store the attributes of each Ice component after classification; Ice function attribute templates are used to store the component attributes corresponding to each Ice function.

[0022] The Ice application configuration interface includes: an application tree window, a property configuration window, and a feature selection window. The property configuration window contains the property configuration pages for each Ice component, used for visual property configuration of each component, and allows searching and displaying component properties in front of the configuration interface. The application tree window is used to create multiple Ice applications, with one Ice application corresponding to a group of Ice components. After configuring the properties of each component in the property configuration window, the corresponding configuration file is saved; it can also load local configuration files for further property configuration. The feature selection window is used to precisely customize the configuration properties of one or more functions, which are then displayed in front of the property configuration window. The list of function names in the feature selection window comes from the function template sequence file of the Ice property data module.

[0023] The proxy module includes a main proxy and sub-proxies. The main proxy represents the changes in the Ice application configuration interface. Each component's property configuration page corresponds to a sub-proxygen, and each sub-proxygen handles the changes in the Ice property data of its corresponding component.

[0024] The Ice application configuration interface uses a proxy module to implement attribute configuration, multi-application scenario attribute configuration, attribute search, saving attribute configuration files, loading configuration files for attribute reconfiguration, and function selection for customized attributes.

[0025] Furthermore, the attribute template file format in the Ice attribute data module is XML. Each XML file defines 17 nodes under the root node, and the node names are derived from the global variable names defined in the ice-3.xx\cpp\src\Ice\PropertyNames file.

[0026] Furthermore, the XML attribute template format defined in the Ice attribute data module has 17 nodes. The child node name under each node is the Ice attribute name. Each attribute name node has a tag "description", which represents a description of this attribute. If the attribute of this node is Ice proxy, a tag name "property" is added with a value of "Proxy", representing the associated attribute of the proxy. If the attribute of this node is Ice adapter, a tag name "property" is added with a value of "Adapter", representing the associated attribute of the adapter.

[0027] Furthermore, the component attribute template set in the Ice attribute data module includes the following component attribute template category set: IceGridNode (Ice Grid Service Node), IceGridRegistry (Ice Grid Service Registry), Glacier2 (Ice Firewall and Routing Service), IceBridge (Ice Routing Service), IceBox (Ice Hosting Service Server), IceBoxAdmin (IceBox Management), IceStorm (Ice Publish / Subscribe), IcePatch2 (Ice File Pudding Service), IceGridAdmin (Ice Grid Service Management), Client, and Server.

[0028] The name of the Ice component property template can be customized.

[0029] The set of component attribute template categories for a single function in the Ice attribute data module is a subset of the aforementioned set of component attribute template categories, and component templates of the same category also have the same name.

[0030] The attribute node names defined in the attribute template of a component corresponding to a function in the Ice attribute data module are a subset of the attribute node names defined in the attribute templates of components with the same name in the aforementioned attribute template category set; that is, they only include attributes related to that function. For example, the attribute names of the IceGridNode component attribute template related to a certain function are a subset of the attribute names in the IceGridNode component attribute templates in the aforementioned attribute template category set.

[0031] Furthermore, the Ice attribute data module defines a list of function names in the function template sequence file; it also defines a mapping between function identifiers and corresponding attribute template identifiers, so that after the program parses the file, it can match the function name with its corresponding component XML attribute template through the identifier.

[0032] Furthermore, the function names listed in the function selection window of the Ice application configuration interface are consistent with the function names in the aforementioned function template sequence file. The program automatically parses the function names in the function template sequence file and displays them in the function selection window. When developers or maintainers need to add, delete, or modify functions or the XML templates of the attributes involved in the functions, they do not need to focus on the source code; they only need to maintain the function template sequence file and the corresponding attribute XML templates. The changes are automatically reflected in the function selection window and the attribute configuration window.

[0033] Furthermore, the main agent in the aforementioned agent module represents the changes in operations on the Ice application configuration interface, including creating a new application, opening a local configuration file, saving the application's property configuration to a local file, function selection, and property search.

[0034] Furthermore, in the aforementioned proxy module, a corresponding sub-proxy is created when the attribute configuration page of each component is created. The sub-proxy obtains a copy of the corresponding component's XML attribute template data, which contains all the component's attribute names; it also obtains a copy of the XML attribute template data for all function sets involving the component, which contains the function identifiers and the attribute names involved in each function.

[0035] Furthermore, the main agent distributes the detected UI operation changes to the relevant sub-agents. The sub-agents process the attribute data according to the operation and create, rearrange, delete attribute editors, and save the attribute data to local storage on the component's attribute configuration page.

[0036] Furthermore, the Ice application configuration interface specifically supports the following operations and functions:

[0037] S1. Create an application in the application tree. The component navigation name of the application is consistent with the component property template name of the component. Each navigation corresponds to a configuration page of a component.

[0038] S2. Save a single application. Save the Ice property names and values ​​from the configuration pages of each component under the application to the local configuration file in the format supported by Ice. The file name should be the same as the navigation name of the component.

[0039] S3. Open one or more local configuration files in the application tree, automatically create a new application, reconfigure the properties of the configuration files of the opened components, and configure the properties of the configuration pages of other components in the application.

[0040] S4. Select one or more functions in the function selection window. After running, the corresponding properties marked with an asterisk (*) will be displayed in front of the property configuration window of the components involved in the selected function.

[0041] The S5 and Ice application configuration interface supports the creation of multiple applications. You can continue to create an application in the application tree and configure attributes simultaneously in multiple application scenarios.

[0042] The S6 and Ice application configuration interfaces support property search. By entering a search string in the search box of the property configuration window, properties containing the search string will be highlighted at the top of the current component's configuration page. The current component refers to a navigation component in the application tree that the mouse clicks on.

[0043] S7. Select one or more functions in the function selection window. After running, perform a search. If the searched attribute contains the attribute of the selected function, that attribute will be highlighted and displayed in front of the component configuration page with an asterisk (*).

[0044] S8. Supports deleting an application, including its title, component navigation, and corresponding configuration page.

[0045] Furthermore, in the Ice application configuration interface mentioned above, the application tree window, function selection window, and property configuration window contain the same application name; the component name in the property configuration window must remain consistent according to the current navigation name of the component, that is, each application corresponds to a set of function selection strategies and a set of component configuration pages.

[0046] Example 1:

[0047] To address the aforementioned technical issues, this invention proposes an attribute configuration method and tool applicable to ZeroC-ICE. The tool developed based on this method can effectively manage over 1000 Ice attributes visually, lowering the threshold for Ice attribute configuration and improving Ice development and testing efficiency.

[0048] like Figure 1 The diagram below shows the method architecture of this invention. The method consists of an Ice attribute data module, a proxy module, and an Ice application configuration interface, which are described below:

[0049] (1) Ice attribute data module

[0050] The Ice property data module stores property templates after classifying the properties of each Ice component. The classification method is to classify the properties in ice-3.xx\cpp\src\Ice\PropertyNames according to Ice components; it also stores component property templates corresponding to each Ice function. The classification method is to extract the Ice properties of the components involved according to the Ice function and save them in the property template according to the component category; and it stores the function template sequence file.

[0051] In the Ice property data module, the property template files are in XML format. Each XML file defines 17 nodes under the root node. The node names are derived from the global variable names defined in the PropertyNames file. Specific node names are shown in Table 1.

[0052] Table 1. List of Ice Attribute Data Module Attribute Template XML File Nodes

[0053] Serial Number Node name 1 IceProps 2 IceMXProps 3 IceDiscoveryProps 4 IceLocatorDiscoveryProps 5 IceBoxProps 6 IceBoxAdminProps 7 IceBridgeProps 8 IceGridAdminProps 9 IceGridProps 10 IcePatch2Props 11 IcePatch2ClientProps 12 IceSSLProps 13 IceStormAdminProps 14 IceBTProps 15 Glacier2Props 16 Glacier2CryptPermissionsVerifierProps 17 FreezeProps

[0054] The XML attribute template in the Ice attribute data module defines 17 nodes under the root node, and the node names are shown in Table 1. Figure 3 This is an example diagram of the attribute XML template of the present invention. Each node has child nodes named "Ice," and each attribute node has a "description" tag, representing a description of the "Ice" attribute. If the "Ice" attribute of this node is an "Ice proxy," a tag named "property" with the value "Proxy" is added, representing the associated attribute of the proxy; if the "Ice" attribute of this node is an "Ice adapter," a tag named "property" with the value "Adapter" is added, representing the associated attribute of the adapter. After detecting the tag "property," the program will insert its associated fixed attributes into the attribute storage data area according to the Adapter or Proxy.

[0055] The Ice component attribute template category collection includes the following components: IceGridNode, IceGridRegistry, Glacier2 (Ice Firewall and Routing Service), IceBridge (Ice Routing Service), IceBox (Ice Hosting Service Server), IceBoxAdmin (IceBox Management), IceStorm (Ice Publish / Subscribe), IcePatch2 (Ice File Patch Service), IceGridAdmin (IceGrid Service Management), Client, and Server.

[0056] The name of the Ice component property template can be customized. For example, the component property template name of the Ice grid service node IceGridNode can be customized as Node.

[0057] like Figure 1As shown in the Ice data module, the component XML attribute template names involved in the function are a subset of the Ice component attribute template name set; the attribute names contained in the XML attribute template of a component corresponding to the function are a subset of the attribute names contained in the attribute templates of components with the same name in the aforementioned Ice component attribute template set, that is, they only contain the attributes involved in the function. For example, the attribute names of the IceGridNode component attribute template involved in a certain function are a subset of the attribute names in the IceGridNode component attribute template in the aforementioned component attribute template set.

[0058] like Figure 4 This is an example of a function template sequence configuration file for the present invention. The function template sequence file defines a list of function names; the file identifies the mapping from function to corresponding component XML attribute template. In this example, the function name in the file is mapped to a folder named with the preceding Arabic numeral, and this folder stores the component attribute XML template corresponding to the function.

[0059] (2) Ice application configuration interface

[0060] The Ice application configuration interface includes an application tree window, a property configuration window, and a function selection window. The property configuration window includes property configuration pages for each Ice component, allowing for visual property configuration of each component; it also allows searching for component properties and displaying them on the configuration page. The application tree window allows the creation of multiple Ice applications, with each application corresponding to a group of Ice components; after configuring the properties of each component in the property configuration window, the corresponding configuration file can be saved; local configuration files can also be loaded for further property configuration. The function selection window allows for precise customization of the configuration properties of one or more functions, which are then displayed on the property configuration page; the list of function names in the function selection window comes from a function template sequence file, which is consistent with the function template sequence file of the Ice property data module.

[0061] (3) Proxy module

[0062] The proxy module includes a main proxy and sub-proxies: the main proxy represents the operational changes in the Ice application configuration interface, including creating a new application, opening a local configuration file, saving the application's property configuration to a local file, function selection, and property search; when the property configuration page of each component is created, a sub-proxy is created, and each sub-proxy handles the changes in the Ice property data of its corresponding component. In this specific implementation method, the main proxy is a singleton class, and each sub-proxy is a class object.

[0063] The Ice application configuration interface uses a proxy module to implement property configuration, multi-application scenario property configuration, property search, saving property configuration files, loading configuration files for property reconfiguration, and custom property selection. The specific interactions between the three modules are as follows:

[0064] 1) When each component's property configuration page is created, a sub-delegation is created. This sub-delegation can handle the property data related to this component. The sub-delegation obtains a copy of the corresponding component's XML property template data from the Ice property data module. The data contains all the property names of the component. It also obtains a copy of the XML property template data involving all the function sets of the component. The data contains the function identifier and the property names involved in the function.

[0065] 2) When performing operations such as creating a new application, deleting an application, opening a local configuration file, saving application property configurations to a local file, selecting features, and searching properties in the Ice application configuration interface, the actions and related components involved in the operation are distributed to the corresponding sub-delegates of the components. The sub-delegates process the property data according to the received actions and create editors, rearrange editors, delete property editors and release memory, and save editor property data to the local machine on the component's property configuration page.

[0066] The specific process for selecting features is as follows:

[0067] The function names listed in the function selection window match the function names in the function template sequence file. The function selection window program parses the function names from the function template sequence file, displays them in the function selection window, and saves the function identifiers. When a user selects one or more functions in the function selection window of an application, the main agent obtains the function identifiers and notifies all sub-agents of all components under that application of all function identifiers. The sub-agents iterate through the function identifiers and check in the data copy whether there are any attributes that need to be configured for that function. If so, they display the attribute name with an asterisk (*) at the beginning of the attribute configuration page of the corresponding component of that sub-agent. When developers or maintainers need to add, delete, or modify functions or the corresponding attribute XML templates, they do not need to focus on the source code; they only need to maintain the function template sequence file and the corresponding attribute XML templates. The changes are automatically reflected in the function selection window and the attribute configuration page.

[0068] like Figure 2 The following is an example of the interface diagram of the attribute configuration tool implemented according to the method of the present invention. The interface development library is Qt5.9; the hardware development and testing platform is a general-purpose x86 computer with Windows operating system; the attribute configuration verification platform is a general-purpose x86 computer with an Ice microservice environment and Ubuntu 16.04 operating system; the development language is C++11.

[0069] The tool of this invention selects commonly used Ice components for attribute management. The component attribute templates and component navigation names are customized as follows: Client, Glacier2, Node, Registry, Server, which represent the client, Ice firewall and routing service, Ice mesh service node, Ice mesh service registry center, and Ice server, respectively.

[0070] The operation method is as follows:

[0071] 1) Right-click on the application tree and select "Add New Application" from the menu. The navigation name of this application should match the component name in the attribute XML template category collection, which is Client, Glacier2, Node, Registry, Server. Simultaneously, create the attribute configuration page corresponding to the navigation component. The attribute order on the configuration page follows the lexicographical order of the nodes.

[0072] 2) Right-click on the application and select "Save to Local" from the menu to save the Ice property names and values ​​in the configuration pages of each component under the application to the local configuration file in the format supported by Ice. The file name is consistent with the navigation name of the component, namely Client, Glacier2, Node, Registry, Server.

[0073] 3) Right-click on the application tree and select "Add Local Configuration File" from the menu to open one or more local configuration files. The configuration file name must match one or more of the following: Client, Glacier2, Node, Registry, and Server. This will automatically create a new application and allow you to reconfigure the properties of the opened component's configuration file. You can also configure properties on the configuration pages of other components within the application. The property order on the configuration page is as follows: properties from the configuration file first, followed by properties from the property templates of other components in lexicographical order.

[0074] 4) In the function selection window, click to select one or more function names. After clicking "Run", the corresponding properties marked with an asterisk (*) will be displayed in front of the property configuration window of the components involved in the selected function. The next time the function is run, the property order of the involved components will be restored and the asterisks will be cleared. This property order refers to the property order in the configuration page of 1) or 3).

[0075] 5) Ice application configuration interface supports the creation of multiple applications and the configuration of attributes for multiple application scenarios. Right-click on the application tree and select "Add New Application" from the menu to create multiple applications.

[0076] 6) The Ice application configuration interface supports attribute search. Enter search terms in the attribute search box, and click the search symbol to the right of the search box. Attributes containing the search terms will be highlighted at the top of the current component's configuration page. The current component refers to the name of a navigation component in the application tree that has been clicked. Before the next search, the attribute order will be restored and the highlighting cleared. This attribute order refers to the attribute order in the configuration page as described in 1) or 3).

[0077] 7) In the function selection window, click to select one or more functions. After clicking "Run," perform a search. If the searched attributes contain attributes of the selected functions, that attribute will be highlighted with an asterisk (*) and displayed before the configuration page. Before the next search, restore the attribute order of the current components and clear the highlight. This attribute order refers to the page attribute order after selecting and running the function. During the next run, restore the attribute order of the involved components and clear the asterisk and highlight. This attribute order refers to the attribute order of the configuration page in 1) or 3).

[0078] 8) Right-click on the application and select "Delete" from the menu to delete the application title, the component navigation under the application, and the corresponding configuration page.

[0079] from Figure 2 As you can see, in the Ice application configuration interface, the application name in the title bar of the function selection window and the title bar of the property configuration window is the same, both being "Application A"; the component names in the component navigation name and the component name in the property configuration window are one-to-one, both being Client; that is, each application corresponds to a set of function selection strategies and a set of component configuration pages.

[0080] This invention proposes a method and tool for configuring attributes for ZeroC-ICE, effectively managing over a thousand Ice attributes through a visual interface. This solves the problems of inflexibility, low efficiency, and error-proneness associated with traditional manual Ice attribute configuration. Attributes can be searched, improving the efficiency of finding specific attributes among a large number of options. Customized attribute configurations for Ice functions are possible, offering a developer-friendly and convenient interface that reduces the complexity of Ice attribute configuration. Attribute configuration across multiple application scenarios does not require data clearing and reconfiguration, improving development and testing efficiency. Furthermore, the maintenance of component and functional attribute templates does not require attention to the source code, saving time for development and maintenance personnel.

[0081] Example 2:

[0082] A method and tool for configuring attributes for ZeroC-ICE, comprising an Ice attribute data module, a proxy module, and an Ice application configuration interface.

[0083] The Ice attribute data module includes: Ice component attribute templates, which store the attributes of each Ice component after categorization; Ice function attribute templates, which store the component attributes corresponding to each Ice function; and function template sequence files.

[0084] The Ice application configuration interface includes: an application tree window, a property configuration window, and a function selection window. The property configuration window includes property configuration pages for each Ice component, allowing for visual property configuration of each component; it also allows searching for component properties and displaying them at the top of the configuration interface. The application tree window allows the creation of multiple Ice applications, with each application corresponding to a set of Ice component property configuration pages; after configuring the properties of each component in the property configuration window, the corresponding configuration file can be saved; local configuration files can also be loaded for further property configuration. The function selection window allows for precise customization of the configuration properties of one or more functions, which are then displayed at the top of the property configuration pages; the list of function names in the function selection window comes from a function template sequence file, which is consistent with the function template sequence file of the Ice property data module.

[0085] The proxy module includes a main proxy and sub-proxies: the main proxy represents the changes in the Ice application configuration interface; each component configuration page corresponds to a sub-proxygen, and each sub-proxygen handles the changes in the Ice property data of its corresponding component.

[0086] The Ice application configuration interface can achieve attribute configuration, multi-application scenario attribute configuration, attribute search, saving attribute configuration files, loading configuration files for attribute reconfiguration, and function selection for customized attributes through the proxy module.

[0087] The attribute template is defined as follows:

[0088] Ice component property templates are categorized by component, while Ice function property templates are categorized by function. Each function can involve one or more component property templates. Both have the same format, being XML files. Each XML file defines 17 nodes under the root node, with node names derived from global variable names defined in the ice-3.xx\cpp\src\Ice\PropertyNames file.

[0089] The 17 nodes mentioned above each have child nodes named "Ice" (the property name). Each property node has a "description" tag, which describes the property. If the "Ice" property of a child node is "Ice Proxy," a "property" tag is added with the value "Proxy," representing a proxy-related property. If the "Ice" property of a child node is "Ice Adapter," a "property" tag is added with the value "Adapter," representing an adapter-related property.

[0090] The Ice component property template collection includes property templates for the following components: IceGridNode (Ice Grid Service Node), IceGridRegistry (Ice Grid Service Registry), Glacier2 (Ice Firewall & Routing Service), IceBridge (Ice Routing Service), IceBox (Ice Hosting Service Server), IceBoxAdmin (IceBox Management), IceStorm (Ice Publish & Subscribe), IcePatch2 (Ice File Pudding Service), IceGridAdmin (Ice Grid Service Management), Client, and Server.

[0091] The name of the Ice component property template can be customized.

[0092] The set of property template names for a single Ice function is a subset of the set of property template names for Ice components. The property node names defined in a component property template related to a function are a subset of the property node names defined in the property templates of components with the same name within the Ice component property template set; that is, they only include properties related to that function. For example, the set of properties in the IceGridNode component property template related to a function is a subset of the property names in the IceGridNode component property template within the Ice component property template set.

[0093] The function template sequence file defines a list of names for each function of Ice and defines a mapping from function identifiers to corresponding function attribute template identifiers. After the program parses the file, it can match the function name to its corresponding function attribute template through the identifier.

[0094] Its key feature is that the Ice application configuration interface specifically supports the following operations:

[0095] S1. Create an application in the application tree, which will create property configuration pages for each component under that application; the component navigation name and the component property template name of the application are consistent; each component navigation corresponds to a property configuration page of a component. The property order of the configuration pages is the node order sorted lexicographically.

[0096] S2. Save a single application. This will save the Ice property names and values ​​from the property configuration pages of each component under the application to a local configuration file in the format supported by Ice. The file name will be the same as the navigation name of the component.

[0097] S3. Opening the local configuration file of one or more Ice components in the application tree automatically creates a new application, displaying the properties and values ​​of the local configuration file on the corresponding component's configuration page. Properties can be reconfigured; properties can also be configured on the configuration pages of other components within the application. The order of properties on the configuration page is: properties in the configuration file first, followed by properties in the property templates of other components in lexicographical order.

[0098] S4. Select one or more functions in the function selection window. After running, the corresponding attributes marked with an asterisk (*) will be displayed in front of the attribute configuration page of the components involved in the selected function. The next time it is run, the attribute order of the involved components will be restored and the asterisks will be cleared. This attribute order refers to the attribute order of the configuration page in S1 or S3.

[0099] S5 supports creating multiple applications. You can continue to create an application in the application tree and configure attributes simultaneously in multiple application scenarios.

[0100] S6 supports attribute search. Entering a search string in the search box of the attribute configuration window will highlight attributes containing the search string at the top of the current component's configuration page. The current component refers to a navigation component in the application tree that has been clicked. Before the next search, the attribute order of the current component is restored and the highlighting is cleared. This attribute order refers to the attribute order in the configuration pages of S1 or S3.

[0101] S7. Select one or more functions in the function selection window. After running, perform a search. If the searched attribute contains the attribute of the selected function, that attribute is highlighted and displayed at the front of the configuration page with an asterisk (*). Before the next search, restore the attribute order of the current components and clear the highlight. This attribute order refers to the attribute order on the page after selecting and running the function. Upon the next run, restore the attribute order of the involved components and clear the asterisk and highlight. This attribute order refers to the attribute order on the configuration page in S1 or S3.

[0102] S8. Supports deleting an application, including its title, component navigation, and corresponding configuration page.

[0103] On the Ice application configuration interface, each application corresponds to a set of function selection customization strategies and a set of component configuration pages; the application name contained in the title bar of the attribute configuration window and the function selection window is consistent; the component name in the title bar of the attribute configuration window changes with the current component navigation name and must remain consistent.

[0104] The specific interaction flow of this method and tool is as follows:

[0105] S1. When each component configuration page is created, a sub-delegation is created, which can handle the attribute data related to this component.

[0106] S2. The sub-agent obtains a copy of the corresponding component's XML attribute template data from the Ice attribute data module. The data contains all the attribute names of the component. It also obtains a copy of the XML attribute template data that involves all the function sets of the component. The data contains the function identifier and the attribute names involved in the function.

[0107] When performing operations such as creating a new application, deleting an application, opening a local configuration file, saving application property configurations to a local file, selecting functions, and searching properties in the S3 and Ice application configuration interface, the actions and related components involved in the operation will be distributed to the corresponding sub-delegates of the components.

[0108] S4. When the sub-agent receives the "Create a new application" action, it creates a property configuration editor on the component configuration page based on the component property template data copy.

[0109] S5. When the sub-agent receives the "Open local configuration file" action, it creates a property configuration editor on the component configuration page and displays the corresponding property values ​​based on the properties and corresponding values ​​in the configuration file.

[0110] S6. When the sub-delegate receives the "Save application property configuration to local file" action, it saves the property data in the component's editor to a local file.

[0111] S7. When the sub-dealer receives the "Function Selection" and "Attribute Search" actions, it will rearrange the editor on the component configuration page.

[0112] S8, the sub-agent receives the "Delete Application" action, deletes the property editor, and releases dynamic memory.

[0113] The specific process for selecting the function is as follows:

[0114] S1. The function names listed in the function selection window are consistent with the function names in the function template sequence file. The function selection window program parses the function names in the function template sequence file, displays them on the function selection window, and saves the function identifiers.

[0115] S2. When a user selects one or more functions in the function selection window of an application, the main agent obtains the function identifier and notifies all the sub-delegates of all components under the application of all function identifiers. The sub-delegates traverse the function identifiers and check in the data copy whether there are any attributes that need to be configured for the function. If so, the attribute name is displayed with an asterisk (*) in front of the attribute configuration page of the corresponding component of the sub-delegate.

[0116] S3. When developers or maintainers need to add, delete, or modify functions or the corresponding attributes of functions, they do not need to pay attention to the source code. They only need to maintain the function template sequence file and the corresponding attribute XML template. The changes will be automatically displayed in the function selection window and attribute configuration page.

[0117] This invention proposes a method and tool for configuring attributes for ZeroC-ICE, effectively managing over a thousand Ice attributes through a visual interface. This solves the problems of inflexibility, low efficiency, and error-proneness associated with traditional manual Ice attribute configuration. Attributes can be searched, improving the efficiency of finding specific attributes among a large number of options. Customized attribute configurations for Ice functions are possible, offering a developer-friendly and convenient interface that reduces the complexity of Ice attribute configuration. Attribute configuration across multiple application scenarios does not require data clearing and reconfiguration, improving development and testing efficiency. Furthermore, the maintenance of component and functional attribute templates does not require attention to the source code, saving time for development and maintenance personnel.

[0118] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the technical principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. An attribute configuration tool suitable for ZeroC-ICE, characterized in that, The tool includes: an Ice property data module, a proxy module, and an Ice application configuration interface; The Ice attribute data module includes: Ice component attribute templates, function template sequence files, and Ice function attribute templates; Ice component attribute templates are used to store the attributes of each Ice component after classification; Ice function attribute templates are used to store the component attributes corresponding to each Ice function; The Ice application configuration interface includes: an application tree window, a property configuration window, and a function selection window. The property configuration window includes property configuration pages for each Ice component, used for visual property configuration of each component, and allows searching and displaying component properties on the configuration interface. The application tree window is used to create multiple Ice applications, with each application corresponding to a set of Ice components. After configuring the properties of each component in the property configuration window, the corresponding configuration file is saved; it can also load local configuration files for further property configuration. The function selection window is used to precisely customize the configuration properties of one or more functions, which are then displayed in front of the property configuration window. The list of function names in the function selection window comes from the function template sequence file of the Ice property data module. The proxy module includes a main proxy and sub-proxies. The main proxy represents the operation changes in the Ice application configuration interface; each component's property configuration page corresponds to a sub-proxygen, and each sub-proxygen handles the changes in the Ice property data of its corresponding component. The Ice application configuration interface uses a proxy module to implement attribute configuration, multi-application scenario attribute configuration, attribute search, saving attribute configuration files, loading configuration files for attribute reconfiguration, and function selection for customized attributes.

2. The property configuration tool for ZeroC-ICE of claim 1, wherein, The attribute template file format in the Ice attribute data module is XML. Each XML file defines 17 nodes under the root node. The node names are derived from the global variable names defined in the ice-3.xx\cpp\src\Ice\PropertyNames file.

3. The property configuration tool for ZeroC-ICE of claim 2, wherein, The XML attribute template format defined in the Ice attribute data module contains 17 nodes. The child nodes under each node are named Ice attribute names. Each attribute name node has a tag named description, which represents a description of this attribute. If the attribute of this node is Ice proxy, a tag named property is added with the value Proxy, representing the associated attribute of the proxy. If the attribute of this node is Ice adapter, a tag named property is added with the value Adapter, representing the associated attribute of the adapter.

4. The property configuration tool for ZeroC-ICE as claimed in claim 2, wherein, The component attribute template set in the Ice attribute data module includes the following component attribute template category sets: IceGridNode (Ice Grid Service Node), IceGridRegistry (Ice Grid Service Registry), Glacier2 (Ice Firewall and Routing Service), IceBridge (Ice Routing Service), IceBox (Ice Hosting Service Server), IceBoxAdmin (IceBox Management), IceStorm (Ice Publish / Subscribe), IcePatch2 (Ice File Pudding Service), IceGridAdmin (Ice Grid Service Management), Client, and Server.

5. The property configuration tool for ZeroC-ICE of claim 4, wherein, The set of component attribute template categories for a single function in the Ice attribute data module is a subset of the aforementioned set of component attribute template categories. Component templates of the same category also have the same name. The attribute node name defined in a component attribute template corresponding to a function in the Ice attribute data module is a subset of the attribute node names defined in component attribute templates with the same name in the aforementioned set of attribute template categories, that is, it only includes attributes related to that function.

6. The property configuration tool for ZeroC-ICE as claimed in claim 1, wherein, The Ice attribute data module defines a list of function names in the function template sequence file; it also defines a mapping from function identifiers to corresponding attribute template identifiers, so that after the program parses the file, it can match the function name with its corresponding component XML attribute template by the identifier.

7. The property configuration tool for ZeroC-ICE as claimed in claim 6, wherein, The function names listed in the function selection window of the Ice application configuration interface are consistent with the function names in the function template sequence file mentioned above; the program automatically parses the function names in the function template sequence file and displays them in the function selection window; when developers or maintainers need to add, delete, or modify functions or the attribute XML templates involved in the functions, they do not need to pay attention to the source code, but only need to maintain the function template sequence file and the attribute XML templates corresponding to the functions, and the changes are automatically presented in the function selection window and the attribute configuration window.

8. The property configuration tool for ZeroC-ICE according to any of claims 1 to 7, characterized in that, The main agent in the above agent module represents the changes in operations on the Ice application configuration interface, including creating a new application, opening a local configuration file, saving the application's property configuration to a local file, function selection, and property search; In the above proxy module, when the property configuration page of each component is created, a corresponding sub-proxy is created; the sub-proxy obtains a copy of the XML property template data of the corresponding component, which contains all the property names of the component; and obtains a copy of the XML property template data of all the function sets involving the component, which contains the function identifier and the property names involved in the function. The main agent distributes detected UI operation changes to the relevant sub-agents. The sub-agents process the attribute data according to the operation and create, rearrange, delete attribute editors on the component's attribute configuration page and save the attribute data to the local machine.

9. The property configuration tool for ZeroC-ICE as claimed in claim 8, wherein, The operations of the Ice application configuration interface include: Create an application in the application tree, where the component navigation name and the component property template name are the same; each navigation corresponds to a component's configuration page; Save a single application by saving the Ice property names and values ​​from the configuration pages of each component under that application to a local configuration file in the format supported by Ice. The file name should be the same as the navigation name of the component. Open one or more local configuration files in the application tree to automatically create a new application, reconfigure the properties of the configuration files of the opened components, and configure the properties of the configuration pages of other components in the application. Select one or more functions in the function selection window. After running, the corresponding properties marked with an asterisk (*) will be displayed in front of the property configuration window of the components involved in the selected function. The Ice application configuration interface supports creating multiple applications, and you can continue to create an application in the application tree. It also supports configuring attributes simultaneously in multiple application scenarios. The Ice application configuration interface supports property search. By entering a search string in the search box of the property configuration window, the properties containing the search string will be highlighted in front of the configuration page of the current component. The current component refers to a navigation component in the application tree that is clicked by the mouse. Select one or more functions in the function selection window. After running, perform a search. If the searched attribute contains the attribute of the selected function, that attribute will be highlighted and displayed in front of the component configuration page with an asterisk (*). It supports deleting an application, including its title, component navigation, and corresponding configuration page.

10. The property configuration tool for ZeroC-ICE as claimed in claim 9, wherein, In the Ice application configuration interface described above, the application tree window, function selection window, and property configuration window all contain the same application name; The component name in the property configuration window must remain consistent, depending on the current navigation name of the component. That is, each application corresponds to a set of function selection strategies and a set of component configuration pages.

Citation Information

Patent Citations

  • Modularized JAVA application software online updating system and method

    CN102141919A

  • Small cell system parameter attribute configuration method and device

    CN104077159A