Method, apparatus, and program product for generating configuration information for a storage system
By obtaining the attribute information of storage system objects and the ontology items of operations, the configuration information of the storage system is generated, which solves the problem of not being able to quickly obtain multifunctional descriptions in the existing technology, and improves query efficiency and user experience.
Patent Information
- Application Number
- CN202110164381.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-05
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2041-02-05
AI Technical Summary
The lack of a quick and convenient way to obtain detailed descriptions of multiple functions of a storage system and the relationships between these functions in the current technology makes it impossible for users to determine whether these functions are feasible, affecting query efficiency and user experience.
By receiving a request to generate storage system configuration information, the system obtains the attribute information of objects in the storage system, and based on this attribute information, obtains the first ontology item corresponding to the object and the second ontology item corresponding to the operation, and generates the storage system configuration information.
It enables rapid retrieval of storage system configuration information, improves query efficiency, enhances user experience, and allows users to clearly understand the system's objects and operational relationships.
Smart Images

Figure CN114879899B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of this disclosure relate to the field of storage systems, and more specifically, to methods, apparatus, and program products for generating configuration information for storage systems. Background Technology
[0002] With the rapid development of computer technology, the amount of data is growing rapidly. As massive amounts of data emerge, data storage becomes increasingly important. In the field of data storage, to protect data security, it is necessary to ensure that stored data can be protected against disaster recovery. Therefore, Data Protection and Recovery (DPR) is a fundamental requirement for data storage systems. Replicas and snapshots play a major role in DPR because they guarantee the recovery or protection of stored data. However, many problems still need to be solved in the field of data storage. Summary of the Invention
[0003] Embodiments of this disclosure provide a method, apparatus, and program product for generating configuration information for a storage system.
[0004] According to a first aspect of this disclosure, a method for generating configuration information for a storage system is provided. The method includes, in response to receiving a request for generating configuration information for the storage system, obtaining attribute information of objects created in the storage system. The method further includes, based on the attribute information, obtaining a first ontology item corresponding to the object, the first ontology item describing the relationship between the object and operations performed on the object. The method further includes obtaining a second ontology item corresponding to the operation. The method further includes, based at least on the first ontology item and the second ontology item, generating configuration information for the storage system.
[0005] According to a second aspect of this disclosure, an electronic device is provided. The electronic device includes at least one processor; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions causing the device to perform actions when executed by the at least one processor, the actions including: in response to receiving a request for generating configuration information for a storage system, obtaining attribute information of an object established in the storage system; based on the attribute information, obtaining a first ontology item corresponding to the object, the first ontology item describing a relationship between the object and an operation performed on the object; obtaining a second ontology item corresponding to the operation; and generating configuration information for the storage system based at least on the first ontology item and the second ontology item.
[0006] According to a third aspect of this disclosure, a computer program product is provided, which is tangibly stored on a non-volatile computer-readable medium and includes machine-executable instructions that, when executed, cause a machine to perform the steps of the method in the first aspect of this disclosure. Attached Figure Description
[0007] The above and other objects, features and advantages of this disclosure will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.
[0008] Figure 1 The illustration shows a schematic diagram of an example environment 100 in which the devices and / or methods according to embodiments of the present disclosure may be implemented;
[0009] Figure 2 The illustration shows a flowchart of a method 200 for generating configuration information for a storage system according to an embodiment of the present disclosure;
[0010] Figure 3 A schematic diagram of a document 300 illustrating configuration information according to an embodiment of the present disclosure is shown;
[0011] Figure 4 The illustration shows a schematic diagram of configuration information in a graphic 400 according to an embodiment of the present disclosure;
[0012] Figure 5 The illustration shows a schematic diagram of a list 500 of ontology items according to an embodiment of the present disclosure;
[0013] Figure 6 A schematic block diagram of an example device 600 suitable for implementing embodiments of the present disclosure is shown.
[0014] In the various figures, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation
[0015] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0016] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0017] In the description of embodiments of this disclosure, the term "ontology" refers to a "formal, explicit, and detailed description of a shared set of concepts." An ontology is a special type of set of terms that is structured and more suitable for use in computer systems; or, in other words, an ontology is essentially a formalized expression of a set of concepts and their relationships within a specific domain, such as in the field of storage systems.
[0018] In this document, the term "ontology item" refers to an item in an ontology, which is a description defining an individual or entity. This description may include an ontology item identifier, name, label, attributes, functional definitions, and / or relationships between ontology items. As an example, an ontology item may include one or more of the following: an ontology item identifier portion, a name portion, a label portion, an attribute portion, a description portion, and a description portion. The identifier portion is used to number the ontology item; the name portion can be the name of an object determined by the user; the label portion is used to identify the ontology item; the attribute portion describes the type of the label; the description portion defines the ontology item; and the description portion describes the relationships between ontology items.
[0019] The principles of this disclosure will now be described with reference to several exemplary embodiments illustrated in the accompanying drawings. While preferred embodiments of this disclosure are shown in the drawings, it should be understood that these embodiments are described only to enable those skilled in the art to better understand and implement this disclosure, and are not intended to limit the scope of this disclosure in any way.
[0020] In the field of data storage, it is common practice to provide only a pure snapshot or copy on a local site or just two remote sites after storing the data. Later, DPR solutions evolved into synchronous replication, asynchronous replication, and the generation of advanced replicas that combine snapshot copies.
[0021] Furthermore, as technology advances, DPR (Design for Performance) functionality evolves, and the corresponding documentation also grows, including feature descriptions, white papers, and user guides. However, while these existing documents clearly explain the individual behavior of a single function, descriptions of multiple functions may be scattered across numerous documents. Therefore, there is no quick and convenient way to obtain detailed descriptions of these functions, nor a description of the integrated behavior of multiple functions, leaving users unable to determine the relationships between these functions or whether such a function is feasible.
[0022] To address at least the aforementioned and other potential problems, embodiments of this disclosure propose a method for generating configuration information for a storage system. In this method, upon receiving a request to generate configuration information for a storage system, a computing device obtains attribute information of objects created in the storage system. Then, it uses the attribute information to obtain a first ontology item corresponding to the object. During this process, a second ontology item corresponding to an operation performed on the object is also obtained. The configuration information for the storage system is then generated using at least the first and second ontology items. This method allows users to quickly obtain system configuration information, improving query efficiency and enhancing the user experience.
[0023] The embodiments of this disclosure will now be described in further detail with reference to the accompanying drawings. Figure 1 A block diagram of an example system 100 in which embodiments of the present disclosure can be implemented is shown. It should be understood that the structure of system 100 is described for illustrative purposes only and does not imply any limitation on the scope of the present disclosure.
[0024] like Figure 1 As shown, system 100 includes computing device 104. Computing device 104 receives a request 102 from a user to generate configuration information 112 about storage system 106. The configuration information may be presented in the form of an ontology.
[0025] The computing device 104 includes, but is not limited to, personal computers, server computers, handheld or laptop devices, mobile devices (such as mobile phones, personal digital assistants (PDAs), media players, etc.), multiprocessor systems, consumer electronics, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices.
[0026] Request 102 is used to obtain configuration information 112 of the user-configured storage system 106. Figure 1 The illustration shows a computing device 104 receiving a request 102, for example, from a user's client device. However, this is merely an example and not intended to limit the scope of this disclosure. The request 102 may also be obtained from the computing device 104 itself.
[0027] The computing device 104 has a storage system 106 configured for the user. After receiving a request 102, the computing device 104 determines the objects created within the storage system 106. These include, for example, file systems created by the user within the storage system 106 for storing data, and replication sessions for storing data from the file systems to other storage devices. The computing device 104 then obtains the ontology item 108 corresponding to the created object based on its attribute information. For ease of description, the ontology item 108 is also referred to as the first ontology item.
[0028] In some embodiments, the computing device 104 generates a first ontology item by obtaining the category from the attribute information of the created object. In some embodiments, the computing device 104 generates a first ontology item based on the state from the attribute information of the object. Alternatively or additionally, the computing device generates a first ontology item based on both the category and state from the attribute information. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure. Those skilled in the art can generate a first ontology item based on any suitable information from the attributes of the object.
[0029] The information included in the first ontology item 108 also describes the relationship between the object and the operation performed on the object. During the generation of configuration information, the ontology item 110 corresponding to the operation is obtained. For ease of description, ontology item 110 is also referred to as the second ontology item.
[0030] In some embodiments, the computing device 104 can obtain attribute information of an object corresponding to an operation. Then, based on the object's attribute information, a second ontology item for the operation is generated. The second ontology item includes a user-defined name for the ontology item.
[0031] In some embodiments, the tag of the second ontology item described in the description portion of the first ontology item can be obtained. Then, the tag of the second ontology item is used to generate the second ontology item from the reference ontology item set.
[0032] Then, the configuration information of the storage system is generated based on at least the first ontology item and the second ontology item. Figure 1 Only two ontology items, 108 and 110, are shown in the document; these are merely examples and not specific limitations of this disclosure. Any suitable number of ontology items corresponding to the storage system 106 can exist. Therefore, the configuration information can include any number of ontology items.
[0033] The above methods enable users to quickly obtain system configuration information, improving query efficiency and enhancing user experience.
[0034] Figure 2 A flowchart is described for a method 200 for generating configuration information for a storage system according to embodiments of the present disclosure. Method 200 can be... Figure 1 Executed at computing device 104 and any suitable computing device. The following is in conjunction with... Figure 1 The example environment 100 in which the apparatus and / or methods according to embodiments of the present disclosure may be implemented is further described. Figure 2 Examples of implementations.
[0035] At box 202, computing device 104 determines whether it has received a request 102 for generating configuration information 112 for storage system 106.
[0036] In some embodiments, computing device 104 receives a request 102 from a user's client device for generating configuration information 112. For example, this request 102 can be sent when a user wants to view the configuration information 112 of the storage system 106 they are using. In some embodiments, the request 102 to view the configuration information 112 of the storage system 106 is submitted by the user at computing device 104. The above examples are merely illustrative of this disclosure and not intended to limit its specific scope.
[0037] If a request for generating configuration information for the storage system is received, at box 204, computing device 104 obtains the attribute information of objects created in storage system 106.
[0038] When generating configuration information for storage system 106, computing device 104 needs to obtain objects created within storage system 106, such as user-created objects, including file systems in the storage system and sessions used for data synchronization or asynchronous replication. Then, computing device 104 extracts the attribute information of these objects. This attribute information includes the object's type, object status, etc.
[0039] At box 206, computing device 104 obtains a first ontology item corresponding to an object based on attribute information. The first ontology item describes the relationship between the object and the operations performed on the object.
[0040] In some embodiments, the computing device 104 uses the attribute information of an object to determine a first tag corresponding to the object. Then, the computing device 104 uses the first tag to retrieve the reference ontology item corresponding to the first tag from a reference ontology item set to generate a first ontology item. The reference ontology item set is pre-set by the user and includes multiple reference ontology items. Each reference ontology item includes at least a reference ontology item tag, attributes, a description, and an explanation. Alternatively or additionally, each reference ontology item may also have a reference ontology item identifier.
[0041] Therefore, the reference ontology item corresponding to the first tag can be found from the reference ontology item set. For example, the attributes, descriptions, and specifications from the reference ontology item can be retrieved and then added to the corresponding attributes, descriptions, and specifications of the first ontology item for that object. The name in the first ontology item can be set to a name defined by the user for the object. Alternatively or additionally, an ontology item identifier can be set for the first ontology item. In this way, the first ontology item can be generated quickly and accurately, saving user time and computing resources.
[0042] In some embodiments, the computing device 104 obtains the object type from the object's attribute information. Then, the computing device 104 determines a first label based on the object type. In one example, if the object type is a restore operation, then restore can be used as the first label. In another example, if the object type is a synchronization session, then synchronization session can be used as the first label. Alternatively or additionally, state information is also required when determining the label. For example, if the object's state is active, then the label is active synchronization session. The above examples are merely for describing this disclosure; the information in the object's attribute information used to form the label can be set by those skilled in the art as needed. This method allows for quick and efficient determination of the first label, saving computation time.
[0043] At box 208, computing device 104 acquires the second ontology item corresponding to the operation. During the generation of configuration information, computing device 104 also acquires the second ontology item related to the first ontology item.
[0044] In some embodiments, the computing device 104 can obtain attribute information of an object corresponding to the operation, such as a control that implements the restore operation. Then, based on the object's attribute information, it determines an ontology item label corresponding to the operation. Then, using the ontology item label, it obtains a reference ontology item corresponding to the ontology item label from a set of reference ontology items. Then, it uses the reference ontology item to generate a second ontology item for the operation. The second ontology item includes a user-defined name for the ontology item.
[0045] In some embodiments, the tag of the second ontology item described in the description portion of the first ontology item can be obtained. Then, the tag of the second ontology item is used to generate the second ontology item from reference ontology items obtained from the reference ontology item set. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure.
[0046] At box 210, computing device 104 generates configuration information for the storage system based at least on the first ontology item and the second ontology item.
[0047] After obtaining the first and second ontology items, if other ontology items exist in the storage system, these ontology items are used to generate a description of the configuration information. In some embodiments, the computing device 104 also obtains relation ontology items corresponding to the relations. In one example, the computing device 104 obtains a second label corresponding to the relation ontology item from the first ontology item. Then, based on the second label, the computing device 104 obtains the relation ontology item corresponding to the label from the reference ontology item set. In this way, the computing device can quickly determine the relation ontology item to be used, improving the efficiency of obtaining relation ontology items.
[0048] Furthermore, the computing device 104 utilizes at least the first ontology item, the second ontology item, and the relational ontology item to generate configuration information for the storage system. This approach allows the configuration information to include more ontology items, making the configuration information clearer. Figure 3 The document 300, which describes configuration information according to embodiments of the present disclosure, is illustrated in a schematic diagram.
[0049] like Figure 3 As shown, multiple ontology items in the configuration information are listed. The ontology item identifiers of these multiple ontology items are 00000201, 00000202, 00000206, 00000207, 00000208, and 00000209, respectively. They are merely examples and not specific limitations of this disclosure.
[0050] Among these multiple ontology items, ontology item 00000201 is named "Executable", ontology item 00000202 is named "Inoperable", ontology item 00000206 is named "Restore", ontology item 00000207 is named "Session-1", ontology item 00000208 is named "Session-2", and ontology item 00000209 is named "Session-3".
[0051] Taking ontology item 00000207 as an example, it includes an ontology item identifier, name, label, description, and specification. This ontology item describes an object named Session-1, whose label is an active synchronous session. The description section records the functionality of this ontology item, and the specification section records its relationship with other ontology items.
[0052] When generating this ontology item, computing device 104 can determine the attribute information of session 1 generated by the user, including its type and state. For example, if its type is a synchronous session and its state is active, then its tag can be determined as an active synchronous session. Then, using this tag, it searches for the reference ontology item corresponding to that tag in the reference ontology item set. The description and specification from the found reference ontology item are then used as the description and specification portion of ontology item 00000207. Similarly, computing device 104 can obtain the restored ontology item 00000206 and the non-executable ontology item 00000202 from the specification portion of ontology item 00000207. Finally, all generated ontology items are combined to form a document of configuration information.
[0053] In one example, the label "Restore" is generated based on the attribute information of the restore control created in storage system 206. In another example, the label "Restore" can also be given directly based on the description of ontology item 00000207. Then, the corresponding ontology item is generated based on the obtained label. The above examples are only used to describe this disclosure and are not intended to specifically limit this disclosure.
[0054] Return now Figure 2 Continuing the description, in some embodiments, the computing device 104 uses a first ontology item and a second ontology item to generate configuration information in a chart format. To facilitate display to the user, configuration information can also be generated in chart form. Figure 4 The illustration shows a schematic diagram of a graphic 400 of configuration information according to an embodiment of the present disclosure.
[0055] like Figure 4 The description shown is related to Figure 3 The configuration information described corresponds to the configuration information in graphical form. Ontology items 412, 414, and 416 represent three ontology items named File System-1, File System-2, and File System-3, respectively. These correspond to three user-created file systems that store various data placed by the user. Ontology items 404, 406, and 408 correspond to snapshots of the data stored within the three file systems. Based on the descriptions in the explanatory sections of ontology items 404, 406, and 408, it can be determined that they protect ontology items 412, 414, and 416. Figure 4 There are also three ontology items 418, 420, and 422, named Session-1, Session-2, and Session-3, corresponding to three session programs set up for copying data for the three file systems. For example... Figure 3 As shown, the relationship between the ontology item 402 named "Restored" and ontology items 404, 406, and 408 can be determined from the descriptions of the three ontology items Session-1, Session-2, and Session-3. Furthermore, Figure 4 The relationships between ontology item 418 and ontology items 424 and 426 in session-1, between ontology items 428 and 430 in session-2, and between ontology item 422 and ontology items 430 and 432 in session-3 are also illustrated. For example, when a synchronous session in the active state represented by ontology item 418 is in a paused state, the restore action represented by ontology item 402 can be performed on the snapshot represented by ontology item 404. When a synchronous session in the paused state represented by ontology item 422 is in an active state, the restore action represented by ontology item 402 cannot be performed on the snapshot represented by ontology item 408.
[0056] exist Figure 4 Ontology items involving relationships include those that can be executed, cannot be executed, are protected, and have state. Through Figure 4 Users can intuitively understand the configuration information of the storage system and quickly determine the status and operation of each object. Figure 4 The descriptions herein are merely examples and not specific limitations of this disclosure. For a quicker understanding... Figure 4 It contains an ontology item. Figure 5 A schematic diagram of a list 500 of ontology items according to an embodiment of the present disclosure is further shown for user viewing.
[0057] Return now Figure 2 The following description describes how, in some embodiments, configuration information is automatically regenerated if at least one of the objects, operations, and relationships in storage system 106 is adjusted. In some embodiments, the user triggers a redisplay of the configuration information after at least one of the objects, operations, and relationships in the storage system has been adjusted. The above examples are merely illustrative of this disclosure and not intended to limit its specific scope.
[0058] The above methods enable users to quickly and efficiently obtain system configuration information, improve query efficiency, and enhance user experience.
[0059] Figure 6 A schematic block diagram of an example device 600 that can be used to implement embodiments of the present disclosure is shown. Figure 1 The computing device 104 can be implemented using device 600. As shown, device 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes based on computer program instructions stored in read-only memory (ROM) 602 or loaded from storage page 608 into random access memory (RAM) 603. RAM 603 can also store various programs and data required for the operation of device 600. CPU 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.
[0060] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage page 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0061] The various processes and handling described above, such as method 200, can be executed by processing unit 601. For example, in some embodiments, method 200 can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by CPU 601, one or more actions of method 200 described above can be performed.
[0062] This disclosure can be a method, apparatus, system, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.
[0063] 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 of the foregoing. 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 of the foregoing. 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] These computer-readable program instructions can be provided to a processing unit 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 processing unit 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.
[0068] 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 executed 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.
[0069] 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 shown 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, may 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.
[0070] 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 applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for generating configuration information of a storage system, comprising: in response to receiving a request for generating configuration information of a storage system, obtaining attribute information of an object established in the storage system; based on the attribute information, generating a first ontology item corresponding to the object, the first ontology item describing a relationship between the object and an operation performed on the object; obtaining a second ontology item corresponding to the operation; generating the configuration information of the storage system based on at least the first ontology item and the second ontology item; adjusting at least one of the object, the operation and the relationship; in response to at least one of the object, the operation and the relationship being adjusted, regenerating the configuration information; wherein generating the configuration information comprises generating a graphical representation of the configuration information, the graphical representation comprising the first ontology item and the second ontology item; wherein regenerating the configuration information comprises updating the graphical representation; wherein generating the first ontology item comprises: based on the attribute information of the object, identifying a reference ontology item from a plurality of predefined reference ontology items, a description of the reference ontology item describing the second ontology item; and inserting the description of the reference ontology item into a description of the first ontology item to associate the first ontology item and the second ontology item; and, wherein obtaining the second ontology item comprises: based on a label of the second ontology item obtained from the description of the first ontology item, identifying a second reference ontology item from the plurality of predefined reference ontology items, the second reference ontology item being different from the reference ontology item; and inserting a description of the second reference ontology item into a description of the second ontology item to generate the second ontology item.
2. The method of claim 1, wherein generating the first ontology item corresponding to the object comprises: based on the attribute information, determining a first label corresponding to the object; and based on the first label, obtaining the reference ontology item corresponding to the first label from the plurality of predefined reference ontology items to generate the first ontology item.
3. The method of claim 2, wherein determining the first label comprises: based on the attribute information, determining a type of the object; and based on the type of the object, determining the first label.
4. The method of claim 1, wherein generating the configuration information of the storage system comprises: based on the first ontology item and the second ontology item, generating the configuration information in a graph format.
5. The method of claim 1, further comprising: obtaining a relationship ontology item corresponding to the relationship; and wherein generating the configuration information of the storage system comprises: based on the first ontology item, the second ontology item and the relationship ontology item, generating the configuration information of the storage system.
6. The method of claim 5, wherein obtaining the relationship ontology item comprises: obtaining a second label corresponding to the relationship ontology item from the first ontology item; and based on the second label, obtaining the second reference ontology item corresponding to the second label from the plurality of predefined reference ontology items to generate the relationship ontology item.
7. The method of claim 1, wherein generating the first ontology item includes generating an indication as part of the first ontology item, the indication identifying the operation as currently executable on the object; and, wherein the method further includes: performing the operation on the object after generating the configuration information.
8. The method of claim 7, further comprising: creating the object in the storage system, the object being a snapshot of data in the storage system; wherein the operation is a recovery operation to recover data from the snapshot.
9. The method of claim 1, wherein the first ontology item includes a description including the second ontology item; and, wherein obtaining the second ontology item includes identifying the second ontology item from the description of the first ontology item.
10. The method of claim 1, wherein obtaining the property information of the object includes: obtaining a label of the object, the label indicating that the object is a session in which data in a first storage device is copied to a second storage device; and, wherein inserting the description of the reference ontology item into the description of the first ontology item includes: generating the description of the first ontology item from the description of the reference ontology item to indicate whether a recovery operation is executable on the session to recover the data from the second storage device.
11. The method of claim 1, wherein identifying the reference ontology item from the plurality of predefined reference ontology items includes: performing an evaluation operation that compares a label of the object to the plurality of predefined reference ontology items to locate the reference ontology item, the evaluation operation indicating that the reference ontology item corresponds to the label of the object.
12. The method of claim 1, wherein the storage system includes a plurality of file systems, the file systems being respective objects created in the storage system; and, wherein generating the graphical representation of the configuration information includes providing a graph of relationships between the file systems and other objects created in the storage system.
13. An electronic device, the electronic device comprising: at least one processor; and memory coupled to the at least one processor and having stored thereon instructions which, when executed by the at least one processor, cause the device to perform acts comprising: in response to receiving a request to generate configuration information for a storage system, obtaining property information of an object established in the storage system; based on the property information, generating a first ontology item corresponding to the object, the first ontology item describing a relationship between the object and an operation performed for objects; obtaining a second ontology item corresponding to the operation; based on at least the first ontology item and the second ontology item, generating the configuration information for the storage system; adjusting at least one of the object, the operation, and the relationship; regenerating the configuration information in response to at least one of the object, the operation, and the relationship being adjusted; wherein generating the configuration information comprises generating a graphical representation of the configuration information, the graphical representation comprising the first ontology item and the second ontology item; wherein regenerating the configuration information comprises updating the graphical representation; wherein generating the first ontology item comprises: identifying, based on the attribute information of the object, a reference ontology item from a plurality of predefined reference ontology items, a description of the reference ontology item describing the second ontology item; and inserting the description of the reference ontology item into a description of the first ontology item to associate the first ontology item and the second ontology item; and, wherein obtaining the second ontology item comprises: identifying, based on a label of the second ontology item obtained from the description of the first ontology item, a second reference ontology item from the plurality of predefined reference ontology items, the second reference ontology item being different from the reference ontology item; and inserting a description of the second reference ontology item into a description of the second ontology item to generate the second ontology item.
14. The device of claim 13, wherein generating the first ontology item corresponding to the object comprises: determining, based on the attribute information, a first label corresponding to the object; and obtaining, based on the first label, the reference ontology item corresponding to the first label from the plurality of predefined reference ontology items to generate the first ontology item.
15. The device of claim 14, wherein determining the first label comprises: determining, based on the attribute information, a type of the object; and determining, based on the type of the object, the first label.
16. The device of claim 13, wherein generating the configuration information of the storage system comprises: generating the configuration information in a graph format based on the first ontology item and the second ontology item.
17. The device of claim 13, the actions further comprising: obtaining a relationship ontology item corresponding to the relationship; and wherein generating the configuration information of the storage system comprises: generating the configuration information of the storage system based on the first ontology item, the second ontology item, and the relationship ontology item.
18. The device of claim 17, wherein obtaining the relationship ontology item comprises: obtaining, from the first ontology item, a second label corresponding to the relationship ontology item; and obtaining, based on the second label, the second reference ontology item corresponding to the second label from the plurality of predefined reference ontology items to generate the relationship ontology item.
19. A computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions that, when executed, cause a machine to perform the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Automated invalidation of job output data in a job-processing system
US20150160969A1