Configuration data processing method and apparatus, electronic device, and storage medium

By automatically querying and identifying the configuration data that needs to be cleaned up in the SAN, the problem of untimely and incomplete cleanup of junk configuration data in the SAN is solved, achieving timely and comprehensive cleanup and improving network performance and device utilization.

CN119892764BActive Publication Date: 2026-04-17HEFEI SISI NETWORK TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HEFEI SISI NETWORK TECHNOLOGY CO LTD
Filing Date
2024-12-05
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In existing technologies, the cleanup of junk configuration data in storage area networks (SANs) is neither timely nor thorough, leading to a decline in network performance. The inability to proactively initiate cleanup and reliance on business department's offline lists result in incomplete and untimely cleanup.

Method used

By responding to preset query commands, the system automatically queries the configuration data of the storage area network, including submitted and locked pending configuration data, judges and cleans it up, determines the target configuration data of the switch, including by determining the method of the switch, determines and executes the cleanup operation, determines the target configuration data of the switch, including by querying the active configuration data, determines the connection status of device members and the duration of lock pending, and ensures the timeliness and comprehensiveness of the cleanup.

Benefits of technology

It enables timely and comprehensive cleanup of junk configuration data in the SAN, improving network performance and device utilization, and avoiding problems of misjudgment and incomplete cleanup.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892764B_ABST
    Figure CN119892764B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of computer, and more particularly, to a configuration data processing method and device, electronic equipment and storage medium. The method comprises: in response to a preset query instruction being triggered, querying first regional configuration data corresponding to each switch of a storage area network; wherein the first regional configuration data comprises at least one of committed configuration data and lock-suspended configuration data; determining target configuration data according to the queried first regional configuration data; wherein the target configuration data represents configuration data that needs to be cleaned up in the switch.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more specifically, to a configuration data processing method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the advancement of computer technology, Storage Area Networks (SANs) have emerged as a network architecture for providing high-speed data storage services. A SAN connects several servers, storage devices (such as disk arrays and tape libraries), and switches to form a data network. These connections are made through dedicated interconnection methods, creating a high-speed, dedicated, centrally managed, and secure storage system architecture.

[0003] This SAN generates a lot of junk configuration data during long-term operation. In related technologies, the switch zone configuration data is typically cleaned up manually based on a list of decommissioned servers and / or storage devices submitted by the business department, but this cannot guarantee the timeliness of the cleanup. Summary of the Invention

[0004] One object of this disclosure is to provide a new technical solution for processing configuration data.

[0005] According to a first aspect of the present disclosure, a configuration data processing method is provided, comprising:

[0006] In response to a preset query command being triggered, the system queries the first area configuration data corresponding to each switch in the storage area network; wherein the first area configuration data includes at least one of submitted configuration data and locked pending configuration data.

[0007] Based on the queried configuration data of the first region, the target configuration data is determined; wherein, the target configuration data represents the configuration data in the switch that needs to be cleaned up.

[0008] Optionally, the first region configuration data includes submitted configuration data, and determining the target configuration data based on the queried first region configuration data includes:

[0009] Query the activated second region configuration data in the first region configuration data;

[0010] If the configuration data for the second region is found, the configuration data for the second region is removed from the configuration data for the first region to obtain the configuration data for the third region.

[0011] The configuration data of the third region is used as the target configuration data.

[0012] Optionally, the first region configuration data includes submitted configuration data, and determining the target configuration data based on the queried first region configuration data includes:

[0013] Query the activated second region configuration data in the first region configuration data;

[0014] If the second area configuration data is found, the first device member that is connected to the switch is queried from the second area configuration data; wherein, the first device member includes servers and / or storage devices in the storage area network;

[0015] If the first device member is found, the region configuration data corresponding to the first device member is removed from the second region configuration data to obtain the fourth region configuration data.

[0016] The target configuration data is determined based on the fourth region configuration data.

[0017] Optionally, determining the target configuration data based on the fourth region configuration data includes:

[0018] Obtain the first duration of disconnection between each second device member in the fourth region configuration data and the switch;

[0019] If the first duration exceeds the first threshold, the region configuration data corresponding to the second device member is used as the target configuration data.

[0020] Optionally, determining the target configuration data based on the fourth region configuration data includes:

[0021] Detect whether the deregistration information sent by each second device member in the fourth area configuration data has been received;

[0022] Upon receiving the deregistration information, the region configuration data corresponding to the second device member is used as the target configuration data.

[0023] Optionally, the first region configuration data includes locked and suspended configuration data, and determining the target configuration data based on the queried first region configuration data includes:

[0024] The second duration for which the configuration data for the locked suspension is continuously suspended is obtained;

[0025] If the second duration is greater than the second threshold, the configuration data of the lock suspension is used as the target configuration data.

[0026] Optionally, the method further includes:

[0027] In response to receiving confirmation from the user, output a cleanup script for cleaning up the target configuration data;

[0028] According to the cleanup script, a cleanup operation is performed on the target configuration data.

[0029] According to a second aspect of the present disclosure, a configuration data processing apparatus is provided, comprising:

[0030] The query module is used to query the first area configuration data of each switch in the storage area network in response to the triggering of a preset query command; wherein the first area configuration data includes at least one of the submitted configuration data and the locked pending configuration data.

[0031] The determination module is used to determine the target configuration data based on the queried configuration data of the first region; wherein the target configuration data represents the configuration data that needs to be cleared in the switch.

[0032] According to a third aspect of the present disclosure, an electronic device is provided, the electronic device including a memory and a processor, the memory being configured to store computer instructions, and the processor being configured to invoke the computer instructions from the memory to perform the method as described in any one of the first aspects.

[0033] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided on which a computer program is stored, which, when executed by a processor, implements the method as described in any one of the first aspects.

[0034] In response to a preset query command, this embodiment queries the regional configuration data corresponding to each switch in the storage area network. Based on the queried regional configuration data, it determines the target configuration data in the switch for processing. The method of this embodiment can automatically determine the target configuration data, allowing for proactive cleanup on demand and ensuring timely cleanup of the target configuration data. Furthermore, this embodiment can simultaneously query both submitted and locked / pending configuration data. Based on the retrieved submitted and locked / pending configuration data, a more comprehensive set of target configuration data can be obtained, thereby achieving comprehensive cleanup of the target configuration data.

[0035] Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0036] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the present disclosure and, together with their description, serve to explain the principles of the present disclosure.

[0037] Figure 1 This is a schematic diagram of the structure of a storage system provided according to an embodiment of the present disclosure.

[0038] Figure 2 This is a flowchart illustrating a configuration data processing method provided in an embodiment of this disclosure.

[0039] Figure 3 This is a schematic diagram illustrating a target configuration data provided in an embodiment of this disclosure.

[0040] Figure 4 This is a schematic diagram of the structure of a configuration data processing device provided in an embodiment of this disclosure.

[0041] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0042] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless specifically stated otherwise, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure. The following description of at least one exemplary embodiment is merely illustrative and is not intended to limit the scope of the present disclosure or its application or use.

[0043] Figure 1 This is a schematic diagram of a storage system provided according to an embodiment of the present disclosure. Figure 1 As shown, the storage system 100 may include one or more of the following: storage area network SAN 150, network management device 160, and client 170.

[0044] The SAN 150 may include multiple network elements, such as a server 151, a switch 152, and a storage device 153. The server 151 may include a physical server and / or a virtual server. The server 151 is connected to the storage device 153 via the switch 152, enabling rapid access to data on the storage device 153. The server 151 can also connect to a client 170, receiving and processing client data requests or executing applications. The storage device 153 may include disk arrays, tape libraries, or other types of storage media, providing high-capacity, high-performance storage to meet enterprise-level data storage needs. The switch provides high-speed data transmission capabilities; for example, the switch may be a fiber optic switch or other switches supporting high-speed data transmission. Each of the aforementioned servers, switches, and storage devices may be one or more.

[0045] The network management device 160 can connect to the SAN and be used to manage the SAN's network elements. For example, the network management device 160 can perform maintenance and management functions such as data configuration management, fault management, resource management, performance management, and security management on the SAN's network elements. There can be one or more network management devices, and the network management device can also be called a Network Management System (NMS).

[0046] The client 170 can connect to the SAN server, send data requests to the server, and receive data returned by the server. There can be one or more clients.

[0047] In some embodiments, the client 170 can also connect to the network management device 160 to send instructions to the network management device or receive management data for the corresponding maintenance and management of the SAN. In one implementation, the client connected to the network management device 160 and the client connected to the server 151 can be the same client, which facilitates client operation. In another implementation, the client connected to the network management device 160 and the client connected to the server 151 can be different clients; that is, the same client is not allowed to connect to both the network management device and the server simultaneously. This separates management and business operations, thereby improving the security of the storage system.

[0048] In SAN150, it is typically necessary to configure server 151 and / or storage device 153, create a switch zone that allows server 151 and / or storage device 153 to communicate, and associate the ports of server 151 and storage device 153 with the zone, generating zone configuration data. The associated ports of server 151 and storage device 153 are globally unique names that uniquely identify server 151 and / or storage device 153, such as PWWN (Port World Wide Name).

[0049] The area configuration data may include the area name, as well as the names and / or ports of the network element devices in that area. When the area configuration data includes the names and ports of the network element devices, the names of the network element devices can be used as device aliases to replace the actual ports of the network element devices.

[0050] In one example, the region configuration data can be as follows:

[0051] zone name

[0052] P780C-SJFXDB26-DS8870-I0032-20220829vsan 2

[0053] member device-alias H-P780C-SJFXDB26

[0054] member device-alias S-DS8870-I0032

[0055] device-alias name H-P780C-SJFXDB26 pwwn c0:50:76:07:e1:78:00:1e

[0056] device-alias name S-DS8870-I0032 pwwn 50:05:07:63:05:03:96:93”

[0057] In this example, "P780C-SJFXDB26-DS8870-I0032-20220829" is the area name, "H-P780C-SJFXDB26" and "S-DS8870-I0032" are the names of network element members, and "device-alias name H-P780C-SJFXDB26 pwwn c0:50:76:07:e1:78:00:1e" indicates that "H-P780C-SJFXDB26" is an alias for the network element member, used to replace the real PWWN "c0:50:76:07:e1:78:00:1e".

[0058] In one example, the system can receive area configuration data defined or modified by the user in real time on client 170. It can receive area configuration data submitted by the user clicking the "save" button on client 170, as well as area configuration data saved by the user using the command keyword "save" on client 170. It can also receive area configuration data submitted by the user clicking the "commit" button on client 170, as well as area configuration data submitted by the user using the command keyword "commit" on client 170. In this example, area configuration data can be received through a switch or a network management device. That is, configuration data can be uploaded to the switch or network management device in real time or periodically during the definition or modification process. When configuration data is saved or committed, it can be uploaded to the switch or network management device.

[0059] After receiving the submitted zone configuration data, it needs to be activated. In one example, this can be achieved by the user clicking the "Activate" button on client 170, or by using the command "active" on client 170. Once the zone configuration data is successfully activated, the associated server 151 and storage device 153 can communicate with each other normally. In this example, the zone configuration data can be activated via a switch or a network management device.

[0060] During long-term operation of a SAN150, a lot of useless junk configuration data will be generated. In one example, zone configuration data has been committed but not successfully activated. Alternatively, zone configuration data has been successfully activated, but the storage devices and / or servers associated with the zone have been taken offline. In this case, the configuration data corresponding to that zone becomes meaningless and becomes junk configuration data.

[0061] Currently, there are generally no specific statistics on junk configuration data in SANs. Furthermore, operations departments rarely perform zone junk configuration data cleanup for fear of impacting business operations. Related technologies typically involve manually cleaning up switch zone junk configuration data based on a list of decommissioned servers and / or storage devices submitted by business departments. However, this cleanup approach passively waits for business departments to initiate cleanup, making it impossible to proactively initiate cleanup and ensuring timeliness. Moreover, this cleanup approach is incomplete, only cleaning based on the decommissioned list, and cannot guarantee the comprehensive removal of junk configuration data.

[0062] Based on this, the present disclosure provides a configuration data processing method that can be applied to the scenario of cleaning up zone configuration data. Figure 2 This is a flowchart illustrating a configuration data processing method provided in an embodiment of this disclosure. This method can be executed by the network management device in the aforementioned storage system, or by a switch in a SAN. Figure 2 As shown, the configuration data processing method of this embodiment may include steps S210 to S220.

[0063] Step S210: In response to the triggering of a preset query command, query the first area configuration data of the storage area network corresponding to each switch.

[0064] The configuration data for the first region includes at least one of the submitted configuration data and the locked / pending configuration data.

[0065] In this embodiment of the disclosure, "submitted" and "locked pending" are two states of region configuration data. Submitted configuration data can include at least one of the following: region configuration data that has been submitted but not activated, or region configuration data that has been submitted and activated. Locked pending configuration data can include at least one of the following: region configuration data that has been configured but not saved, or region configuration data that has been saved but not submitted.

[0066] In this embodiment of the disclosure, the region configuration data may include initial region configuration data and / or modified region configuration data. Initial region configuration data can be understood as newly defined region configuration data. Modified region configuration data can be understood as configuration data obtained by modifying already defined region configuration data.

[0067] In one example, configured but unsaved region configuration data could include initial region configuration data defined but not saved, and / or modified region configuration data modified but not saved. In this example, "unsaved" could mean either a cancellation operation was performed, or no operation was performed at all.

[0068] In this embodiment of the disclosure, the first area configuration data can be configuration data stored in a distributed manner according to the network element type. For example, the first area configuration data can be distributed across multiple data tables. For instance, it can be distributed across data tables such as a server information table and a storage information table. In this example, queries can be performed from the multiple distributed data tables based on their interrelationships. Alternatively, the first area configuration data can also be distributed within the same data table, allowing for configuration data queries within a single table, which can improve query efficiency.

[0069] The configuration data for the first area can be stored separately on each switch, or it can all be stored on the network management device.

[0070] In this embodiment of the disclosure, the preset query instruction may include a preset query instruction for querying submitted zone configuration data, or a preset query instruction for querying locked / pending zone configuration data. In one example, the preset query instruction may include "show run," which allows querying all configuration data of the switch and then extracting zone configuration data from that data. The preset query instruction may also include "show zone," which allows directly querying all submitted zone configuration data of the switch. In one example, the preset query instruction may also include "show zone pending vsan."<vsan_ID> This preset query command allows you to query the configuration data of the locked and suspended areas of the switch.

[0071] Pre-defined query commands can be stored in the switch or in the network management device. When the pre-defined query command is stored in the network management device, the network management device can communicate with the switch to obtain the switch's area configuration data.

[0072] The steps to trigger a preset query command may include: presetting a specific time; and triggering the preset query command when the system time reaches that specific time. Triggering a preset query command may also include: presetting a specific time interval, and triggering the preset query command at regular intervals.

[0073] This embodiment can promptly retrieve the first area configuration data of each switch in the storage area network by responding to preset query commands at regular intervals.

[0074] Step S220: Determine the target configuration data based on the queried configuration data of the first region.

[0075] The target configuration data refers to the configuration data in the switch that needs to be cleaned up.

[0076] In this embodiment of the disclosure, upon triggering a preset query command, at least one of the submitted configuration data and locked pending configuration data corresponding to each switch in the SAN is queried. Based on the queried configuration data, junk configuration data that needs to be cleaned up in the switches can be identified in a timely manner, ensuring that junk configuration data is recognized. This embodiment of the disclosure does not rely on the offline list provided by the business department, providing a foundation for the timely cleanup of junk configuration data.

[0077] In some embodiments, the first region configuration data may include submitted configuration data. In this embodiment, step S220 may include steps S221 to S223.

[0078] Step S221: Query the activated second region configuration data in the first region configuration data.

[0079] Step S222: If the second region configuration data is found, remove the second region configuration data from the first region configuration data to obtain the third region configuration data.

[0080] Step S223: Use the configuration data of the third region as the target configuration data.

[0081] In one example, the third region configuration data could be inactive configuration data from the submitted configuration data.

[0082] This embodiment of the disclosure removes activated configuration data from the submitted configuration data and uses the remaining configuration data as the target configuration data, which can promptly identify junk configuration data that needs to be cleaned up.

[0083] In some embodiments, the first region configuration data may include submitted region configuration data. In this embodiment, step S220 may further include steps S224 to S226.

[0084] Step S224: If the second area configuration data is found, query the first device member that is connected to the switch in the second area configuration data.

[0085] The first device member includes servers and / or storage devices in a storage area network.

[0086] In one example, "connected to the switch" can mean having successfully logged into the switch via the FLOGI (Fabric Login) process. It's important to note that FLOGI (Fabric Login) is the process by which devices in an FC (Fibre Channel) network log into the Fabric. Once a device successfully logs in, it is recorded in the FC switch's FLOGI database. This database contains information about all devices currently logged into the Fabric, such as interface, VSAN, FCID, port name, and node name. In this example, querying the first device member connected to the switch could include querying the servers and / or storage devices connected to the switch port that have already logged in via FLOGI.

[0087] In one example, the query retrieves the device identifier of the first device member connected to the storage area network. The device identifier can be a globally unique identifier for the hardware (e.g., World Wide Name, WWN). In this example, the first device member can be identified based on the retrieved device identifier and its association with other device members in the storage area network.

[0088] Step S225: If the first device member is found, remove the area configuration data corresponding to the first device member from the second area configuration data to obtain the fourth area configuration data.

[0089] Step S226: Determine the target configuration data based on the fourth region configuration data.

[0090] In one example, the first device member retrieved can be marked as online. By removing the configuration data corresponding to the first device member marked as online from the switch's active configuration data, the device members that are disconnected from the switch, i.e., those currently in an offline state, can be obtained.

[0091] This embodiment of the disclosure determines the target configuration data from the configuration data corresponding to the device members that are disconnected from the switch, and can promptly identify junk configuration data that needs to be cleaned up.

[0092] Considering that a device member may only experience a temporary anomaly and disconnect from the switch, directly treating the configuration data corresponding to that device member as garbage configuration data would lead to misjudgment. Therefore, in some embodiments, step S226 may include steps S310 to S320.

[0093] Step S310: Obtain the first duration of disconnection between each second device member and the switch in the fourth area configuration data.

[0094] Step S320: If the first duration is greater than the first threshold, the area configuration data corresponding to the second device member is used as the target configuration data.

[0095] In one example, when a device member successfully connects to the switch, its configuration data is automatically stored in the switch's database or the corresponding database in the network management device. When the device member disconnects from the switch, its configuration data is automatically cleared from the switch's or network management device's database. In this example, the database could be, for example, the FLOGI database.

[0096] In this example, step S310 may include steps S311 to S316.

[0097] Step S311: Obtain the third device member corresponding to the second area configuration data at the first moment from the activated second area configuration data.

[0098] Step S312: Obtain the fourth device member corresponding to the second area configuration data at the second moment from the activated second area configuration data.

[0099] Step S313: Based on the third device member and the fourth device member, determine the second device member that disconnected from the switch at the second moment, and obtain the first moment when the second device member disconnected from the switch.

[0100] Step S314: Obtain the fifth device member corresponding to the second area configuration data at the third moment from the activated second area configuration data.

[0101] Step S315: If the fifth device member does not include the second device member, determine the second time when the second device member disconnects from the switch, and use the difference between the second time and the first time as the first duration.

[0102] Step S316: If the first duration is less than or equal to the threshold, repeat step S314.

[0103] In this example, if the first duration exceeds the threshold, step S320 is executed.

[0104] In this example, the third moment can be understood as the current moment. Taking the current moment as moment T as an example, the third moment can be moment T, the first moment can be moment T-2, and the second moment can be moment T-1.

[0105] The embodiments disclosed herein include the addition of a determination of the duration of disconnection between the device member and the switch, which can avoid misjudgment caused by the temporary disconnection of the device member from the switch.

[0106] In some embodiments, step S226 may include steps S330 to S340.

[0107] Step S330: Detect whether a deregistration message sent by each second device member in the fourth area configuration data has been received.

[0108] In this embodiment of the disclosure, when a device member actively disconnects from the switch, it can actively send a deregistration message to the switch or network management device, thereby notifying the switch or network management device to disconnect from the switch.

[0109] Step S340: Upon receiving the deregistration information, the area configuration data corresponding to the second device member is used as the target configuration data.

[0110] In this embodiment of the disclosure, if the cancellation information is not received, the target configuration data can be determined according to steps S310 to S320.

[0111] This embodiment adds a determination of whether a deregistration message actively sent by a device member has been received. Only when the message is received will the configuration data corresponding to that device member be used as the target configuration data. This can avoid misjudgment caused by a device member temporarily disconnecting from the switch.

[0112] In some embodiments, the first region configuration data may include locked and suspended configuration data. In this embodiment, step S220 may further include using the locked and suspended configuration data as the target configuration data.

[0113] To prevent configuration data being defined or modified from being mistakenly identified as junk configuration data, in some embodiments, the first area configuration data may include locked and suspended configuration data. In this embodiment, step S220 may further include steps S227 to S228.

[0114] Step S227: Obtain the second duration for which the configuration data for the lock suspension is continuously suspended.

[0115] Step S228: If the second duration is greater than the second threshold, the configuration data that is locked and suspended is used as the target configuration data.

[0116] In one example, step S227 may include steps S350 to S380.

[0117] Step S350: When the configuration data for the locked and suspended system is found, obtain the third time.

[0118] Step S360: After a preset time interval, obtain the fifth area configuration data of the storage area network corresponding to each switch.

[0119] Step S370: If the configuration data for the lock suspension is included in the configuration data of the fifth area, obtain the fourth time and use the difference between the fourth time and the third time as the second duration.

[0120] In step S380, if the second duration is less than or equal to the second threshold, step S360 is repeated.

[0121] In this example, if the second duration is greater than the second threshold, step S228 is executed.

[0122] In this example, the preset time interval is not specifically limited; for example, it can be the same as the time interval at which the preset query command is triggered.

[0123] This embodiment of the disclosure adds a determination of the duration for which locked and suspended configuration data is continuously suspended, which can prevent configuration data that is being defined or modified from being mistakenly identified as junk configuration data.

[0124] In some embodiments, after the target configuration data is determined, the configuration data processing method of this disclosure may further include step S230: performing a cleanup operation on the target configuration data.

[0125] Step S230 may include performing a cleanup operation on the target configuration data directly after the target configuration data is determined, or it may include performing a cleanup operation on the target configuration data in response to an execution command being triggered. The execution command can be triggered manually by the user or automatically by pre-configuration by the system.

[0126] The embodiments disclosed herein can proactively initiate the cleanup of junk configuration data, ensuring that the target configuration data can be cleaned up in a timely manner, maintaining the configuration data of the SAN network in a healthy state, and improving the zone service utilization and performance of SAN network element devices.

[0127] In one example, step S230 may include a function to display target configuration data, through which the display function can be used to confirm whether to perform a cleanup operation on all or part of the target configuration data.

[0128] In one example, this display function can show each target configuration data individually, or it can show each type of target configuration data (such as locked / pending target configuration data, inactive target configuration data, and target configuration data for offline device members), and display each type of target configuration data in a submenu (e.g., ...). Figure 3 (As shown). In this example, users can clearly see whether there is junk configuration data for zones in the SAN, as well as the data and details of the configuration data for each type of junk zone.

[0129] In one example, the display feature can also show a confirmation function for each or each category of target configuration data. This confirmation function allows for further manual review of the target configuration data to prevent it from being mistakenly cleaned up.

[0130] In this embodiment of the present disclosure, the system pre-configuration in step S230 may be in response to receiving a user's confirmation operation. Step S230 may include steps S240 to S250.

[0131] Step S240: In response to receiving the user's confirmation operation, output a cleanup script for cleaning up the target configuration data.

[0132] In one example, the cleanup script corresponding to each type of target configuration data can be output, or the cleanup script can be output according to the type of target configuration data preset by the user.

[0133] Step S250: Perform a cleanup operation on the target configuration data according to the cleanup script.

[0134] In one example, the user in step S240 can be a first user, who is a user without review permissions or only with initial review permissions. In this example, step S240 may include outputting a cleanup script for cleaning up the target configuration data in response to receiving a first confirmation operation from the first user.

[0135] In this example, before step S250, the configuration data processing method of this embodiment may further include: sending the cleanup script to a pre-configured second user; and receiving a second confirmation operation from the second user. The second user is a user with final review authority. Sending the cleanup script to the pre-configured second user may, for example, be sending the cleanup script to the pre-configured second user's email address or other system.

[0136] In this example, step S250 may include performing a cleanup operation on the target configuration data in response to a second confirmation operation from the second user, according to the cleanup script.

[0137] This embodiment of the disclosure provides a user confirmation function after the target configuration data is determined. Upon user confirmation, a cleanup script can be generated with a single click, eliminating the need for manual script writing. Furthermore, the timing of cleaning up junk configuration data can be determined based on actual needs, increasing the flexibility of the configuration data processing method and adapting it to real-world junk configuration data cleanup scenarios.

[0138] In this embodiment of the disclosure, the switch's area configuration data can be stored in a first memory to generate a first area configuration data set, and stored in a second memory to generate a second area configuration data set. The first memory can be a volatile memory supporting fast read / write operations, such as random access memory (RAM) or cache memory. The second memory can be a non-volatile memory, such as a disk array. For example, the second memory can be a disk array of a network management device, and the first memory can be the RAM of the network management device.

[0139] When the switch's zone configuration data changes, the first zone configuration data set and the second zone configuration data set are synchronized. This improves the reliability of the configuration data.

[0140] In one example, after the switch's junk configuration data is cleaned up, the first area configuration data set and the second area configuration data set are synchronized.

[0141] In this embodiment of the disclosure, the synchronization of regional configuration data can be achieved based on an event-based or periodic approach. For example, the synchronization of the first regional configuration data set and the second regional configuration data set can be achieved through at least one of the following methods:

[0142] Method 1: After the junk configuration data of the switch is cleaned up, update the second area configuration data set according to the changed area configuration data, and synchronize the candidate data entries of the updated second area configuration data set to the first area configuration data set.

[0143] Optionally, based on this method one, candidate data entries that have changed in the second area configuration data set can be determined according to the changed area configuration data of the switch, and only the candidate data entries that have changed in the second area configuration data set can be synchronized to the first area configuration data set. In this way, full data synchronization is not required, which can improve the efficiency of data synchronization.

[0144] Method 2: If the current time is the preset timed synchronization time, synchronize the updated candidate data entries of the second area configuration data set to the first area configuration data set.

[0145] The current time refers to the current time of the network management device. The preset timed synchronization can be user-defined or a system default timed synchronization, such as a specific time each hour, day, week, or month. For example, if the timed synchronization is set to 3:00 AM every day, when the current time of the network management device is 3:00 AM, the timed synchronization can be performed to synchronize the updated candidate data entries of the second area configuration data set to the first area configuration data set.

[0146] In one implementation, based on this second method, full data synchronization can be performed, synchronizing all candidate data entries of the second region configuration data set to the first region configuration data set to ensure the accuracy of the first region configuration data set.

[0147] In another implementation, it is also possible to compare whether each candidate data entry in the second region configuration data set and the first region configuration data set are the same. For different candidate data entries, the candidate data entry in the second region configuration data set is updated to the first region configuration data set. This can improve the efficiency of data synchronization.

[0148] In Method 2, the specific method for updating the candidate data entry in the second region configuration data set to the first region configuration data set may also include at least one of the following implementation methods:

[0149] In one implementation, if the switch's area configuration data is in a steady state, candidate data entries from the second area configuration data set are synchronized to the first area configuration data set; this steady state can be used to indicate that the switch's area configuration data is not undergoing a change process. In one example, this steady state can be used to indicate that the switch's area configuration data is not being cleaned up.

[0150] In another implementation, if the switch's area configuration data is in a non-steady state, the system waits for the switch's area configuration data to enter a steady state before updating the second area configuration data set based on the stable data. The candidate data entries in the updated second area configuration data set are then synchronized to the first area configuration data set. This avoids anomalies in the synchronized first area configuration data set caused by the non-steady state of the configuration data. Furthermore, while waiting for the switch's area configuration data to enter a steady state, the switch can be prevented from executing new configuration data changes. This way, the switch only needs to complete the currently executing configuration data change to enter a steady state, reducing and improving the data synchronization waiting time.

[0151] In another implementation, when the current time is the preset timed synchronization time, the switch can be prohibited from performing new configuration data changes. After it is determined that the switch's configuration data is in a steady state, the second area configuration data set is updated according to the switch's configuration data, and the candidate data entries of the updated second area configuration data set are synchronized to the first area configuration data set. After the synchronization of the first area configuration data set is completed, the switch is allowed to perform new configuration data changes.

[0152] For example, a network management device can perform timed data synchronization based on the following steps:

[0153] First, when the current time is the preset timed synchronization period, the network management device sends a data synchronization instruction message to each switch in the SAN.

[0154] This data synchronization indication message can be used to instruct the switch to prohibit the execution of new configuration data changes. Upon receiving this message, each network element can send a data synchronization response message to the network management device, either after the switch's configuration data has reached a stable state or after completing the current configuration data change and entering a stable state. Furthermore, the switch, upon receiving this message, can prohibit the execution of new configuration data changes.

[0155] Secondly, after receiving the data synchronization response messages sent by all switches, the network management device updates the second area configuration data set according to the configuration data of each switch, and synchronizes the candidate data entries of the updated second area configuration data set to the first area configuration data set.

[0156] Finally, after completing the synchronization of the first area configuration data set, the network management device sends a data synchronization completion message to each switch in the SAN.

[0157] This data synchronization complete message can be used to instruct the switch to execute new configuration data changes. Upon receiving this message, the switch can then begin executing the new configuration data changes.

[0158] This method avoids the configuration data being in an unstable state during timed synchronization, which could lead to anomalies in the first region configuration data set after synchronization, thus improving the accuracy of the first region configuration data set.

[0159] In some embodiments, after receiving a data synchronization indication message, while prohibiting the execution of new configuration data changes, the switch can cache the received configuration data change commands in chronological order. Upon receiving a data synchronization completion message, the switch can execute the cached configuration data change commands in chronological order. This avoids the problem of configuration data change command execution failure during scheduled synchronization.

[0160] In other embodiments, after receiving a data synchronization indication message and sending a data synchronization response message, the switch can start a timer. If a data synchronization completion message is not received after the timer reaches a preset duration, the switch can stop prohibiting the execution of new configuration data changes. This preset duration can be any pre-configured duration, such as 1 minute, 5 minutes, or 10 minutes.

[0161] This avoids the problem of configuration data changes taking a long time to execute, and can improve the reliability of SAN configuration, especially when data synchronization completion messages are lost.

[0162] In this embodiment, the first and second memories can also store configuration data for other network element devices besides the switch. When the configuration data of these other network element devices changes, the first configuration data set in the first memory and the second configuration data set in the second memory can also be updated based on the changed configuration data. For a detailed implementation, please refer to the synchronization process of the regional configuration data of the switch described above; it will not be elaborated upon here.

[0163] Figure 4 This is a schematic diagram of the structure of a data query device provided in an embodiment of this disclosure. For example... Figure 4 As shown, the configuration data processing device 400 may include:

[0164] The query module 401 is used to query the first area configuration data corresponding to each switch in the storage area network in response to the triggering of a preset query command; wherein the first area configuration data includes at least one of submitted area configuration data and locked pending configuration data.

[0165] The determining module 402 is used to determine the target configuration data based on the queried configuration data of the first region; wherein the target configuration data represents the configuration data that needs to be cleared in the switch.

[0166] Optionally, the determining module 402 is specifically used to query the activated second region configuration data in the first region configuration data; if the second region configuration data is found, remove the second region configuration data from the first region configuration data to obtain the third region configuration data; and use the third region configuration data as the target configuration data.

[0167] Optionally, the determining module 402 is specifically configured to query activated second region configuration data in the first region configuration data; if the second region configuration data is found, query a first device member connected to the switch in the second region configuration data; wherein the first device member includes servers and / or storage devices in the storage area network; if the first device member is found, remove the region configuration data corresponding to the first device member from the second region configuration data to obtain fourth region configuration data; and determine the target configuration data based on the fourth region configuration data.

[0168] Optionally, the determining module 402 is specifically used to obtain a second duration for which the locked and suspended configuration data is continuously suspended; if the second duration is greater than a second threshold, the locked and suspended configuration data is used as the target configuration data.

[0169] Optionally, the configuration data processing device may further include:

[0170] Output module 403 is used to output a cleanup script for cleaning up target configuration data in response to receiving a confirmation operation from the user;

[0171] The cleaning module 404 is used to perform a cleaning operation on the target configuration data according to the cleaning script.

[0172] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0173] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. For example... Figure 5As shown, the electronic device 900 may include a memory 910 and a processor 920. The memory 910 may be used to store computer instructions, and the processor 920 may be used to retrieve computer instructions from the memory 910 to execute any of the methods in the foregoing embodiments of this disclosure. It should be noted that the processor 920 may include one or more processors to execute instructions, and the memory 910 may also include one or more memories to store computer instructions. In some embodiments, the electronic device may be... Figure 1 The network management device or switch shown in the embodiment.

[0174] In some embodiments, the processor 920 can be used to control the overall operation of the electronic device 900. For example, the processor 920 can execute instructions to implement all or part of the steps of the methods in any of the foregoing embodiments of this disclosure, thereby enabling one or more of operations such as voice communication, data communication, database operation, display control, component control, and multimedia processing. The aforementioned components may include sensors, cameras, headphones, input / output devices, etc. The components may be internal components of the electronic device itself or external components connected to the electronic device wirelessly or wiredly. The aforementioned multimedia may include one or more of voice, images, video, and text.

[0175] In some embodiments, the memory 910 may include one or more memories, the contents of which may be the same or different. The memory 910 may be configured to store various types of data to support the operation of the electronic device 900. Examples of such data include instructions for any application or method operating on the electronic device 900, contact data, phonebook data, messages, pictures, videos, etc. The memory 910 may be implemented by any type of temporary or non-temporary storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0176] In some embodiments, the memory 910 may include a first memory, which is a volatile memory, and may be used to store a first configuration data set in the foregoing embodiments of this disclosure. Further, the memory may also include a second memory, which is a non-volatile memory, and may be used to store a second configuration data set in the foregoing embodiments of this disclosure.

[0177] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the methods in the foregoing embodiments of this disclosure. Optionally, the computer-readable storage medium may be a non-transitory storage medium, but is not limited thereto; it may also be a temporary storage medium.

[0178] This disclosure also provides a computer program product that may include a computer program that, when executed by a processor, can implement any of the methods described in the foregoing embodiments of this disclosure.

[0179] This disclosure may be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement any of the methods in the foregoing embodiments of this disclosure.

[0180] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0181] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0182] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0183] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0184] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0185] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0186] 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 the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive 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 the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It should be noted that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are all equivalent.

[0187] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment may be considered part of the specification.

[0188] It should be noted that similar reference numerals and letters in the accompanying drawings of the embodiments of this disclosure represent similar items. Therefore, once an item is defined in one drawing, it does not need to be discussed further in subsequent drawings.

[0189] Although operations or steps are described in a specific order in the accompanying drawings in the embodiments of this disclosure, it should not be construed as requiring these operations or steps to be performed in the specific order or serial order shown, or requiring all of the shown operations or steps to be performed to obtain the desired result. In the embodiments of this disclosure, these operations or steps may be performed serially; they may be performed in parallel; or a portion of these operations or steps may be performed.

[0190] In the description of the embodiments disclosed herein, unless otherwise stated, prefixes such as "first" and "second" are used only to distinguish different descriptive objects and do not constitute a limitation on the position, order, priority, number, or content of the descriptive objects. The description of the descriptive objects is subject to the context of the claims or embodiments, and should not constitute an unnecessary limitation due to the use of prefixes.

[0191] In the description of the embodiments of this disclosure, unless otherwise stated, "multiple" means two or more, and other quantifiers are similar; "at least one," "one or more," or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one 'a' can represent any number of 'a's; as another example, one or more of a, b, and c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple; "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " indicates that the preceding and following related objects are in an "or" relationship.

[0192] In the description of the embodiments of this disclosure, unless otherwise stated, elements expressed in a singular form can be understood as either a singular or a plural expression. For example, "a," "an," "the," "the," "described," "the foregoing," "this," etc., can mean "one and only one," or "one or more," "at least one," etc.

[0193] In the description of the embodiments disclosed herein, unless otherwise stated, the terms "greater than", "greater than or equal to", "not less than", "more than", "more than or equal to", "not less than", "higher than", "higher than or equal to", "not lower than", and "above" can be used interchangeably, and the terms "less than", "less than or equal to", "not greater than", "less than", "less than or equal to", "not more than", "lower than", "lower than or equal to", "not higher than", and "below" can be used interchangeably.

[0194] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of this disclosure is defined by the appended claims.

Claims

1. A configuration data processing method, characterized in that, include: In response to a preset query command being triggered, the system queries the first area configuration data corresponding to each switch in the storage area network; wherein the first area configuration data includes at least one of submitted configuration data and locked pending configuration data. Based on the queried configuration data of the first region, the target configuration data is determined; wherein, the target configuration data represents the configuration data in the switch that needs to be cleared. The first region configuration data includes submitted configuration data, and determining the target configuration data based on the queried first region configuration data includes: Query the activated second region configuration data in the first region configuration data; If the configuration data for the second region is found, the configuration data for the second region is removed from the configuration data for the first region to obtain the configuration data for the third region. The configuration data of the third region is used as the target configuration data; The first region configuration data includes locked and suspended configuration data. The step of determining the target configuration data based on the queried first region configuration data includes: The second duration for which the configuration data for the locked suspension is continuously suspended is obtained; If the second duration is greater than the second threshold, the configuration data of the lock suspension is used as the target configuration data.

2. The method according to claim 1, characterized in that, The first region configuration data includes submitted configuration data. Determining the target configuration data based on the queried first region configuration data includes: Query the activated second region configuration data in the first region configuration data; If the second area configuration data is found, the first device member that is connected to the switch is queried from the second area configuration data; wherein, the first device member includes servers and / or storage devices in the storage area network; If the first device member is found, the region configuration data corresponding to the first device member is removed from the second region configuration data to obtain the fourth region configuration data. The target configuration data is determined based on the fourth region configuration data.

3. The method according to claim 2, characterized in that, The step of determining the target configuration data based on the fourth region configuration data includes: Obtain the first duration of disconnection between each second device member in the fourth region configuration data and the switch; If the first duration exceeds the first threshold, the region configuration data corresponding to the second device member is used as the target configuration data.

4. The method according to claim 2, characterized in that, The step of determining the target configuration data based on the fourth region configuration data includes: Detect whether the deregistration information sent by each second device member in the fourth area configuration data has been received; Upon receiving the deregistration information, the region configuration data corresponding to the second device member is used as the target configuration data.

5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: In response to receiving confirmation from the user, output a cleanup script for cleaning up the target configuration data; According to the cleanup script, a cleanup operation is performed on the target configuration data.

6. A configuration data processing apparatus, characterized in that, include: The query module is used to query the first area configuration data of each switch in the storage area network in response to the triggering of a preset query command; wherein the first area configuration data includes at least one of the submitted configuration data and the locked pending configuration data. The determination module is used to determine target configuration data based on the queried configuration data of the first region; wherein, the target configuration data represents the configuration data that needs to be cleared in the switch; Specifically, the determining module is used for: Query the activated second region configuration data in the first region configuration data; If the configuration data for the second region is found, the configuration data for the second region is removed from the configuration data for the first region to obtain the configuration data for the third region. The configuration data of the third region is used as the target configuration data; The determining module is further specifically used for: The second duration for which the configuration data for the locked suspension is continuously suspended is obtained; If the second duration is greater than the second threshold, the configuration data of the lock suspension is used as the target configuration data.

7. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory being used to store computer instructions, and the processor being used to retrieve the computer instructions from the memory to perform the method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Multi-client concurrent configuration method, server and client

    CN116582430A

  • Optical network unit configuration data cleaning method, device, equipment, medium and product

    CN118921581A