Converting CQL query results into user-controllable objects
First Claim
Patent Images
1. A method comprising:
- sending, from a client device to a data storage system, a query regarding elements of the data storage system;
receiving, at the client device, from the data storage system, a query result, the query result containing information about a set of elements within the data storage system presented in tabular format, the set of elements being defined by the query;
parsing the query result, at the client device, to obtain a class object representing an element of the set of elements; and
performing an operation associated with the element on the class object;
wherein;
the query result includes a table, the table including a plurality of rows, each row storing a fixed number of data values and each row corresponding to at least one unique element of the data storage system;
parsing the query result to obtain the class object includes;
reading a header row of the plurality of rows, the header row defining a list of properties stored within each row of the table;
reading one row of the query result, the one row being distinct from the header row;
dividing the one row into a set of individual data values;
correlating each data value with a corresponding property defined within the header row;
creating, in memory, an instance of a class corresponding to an element of the data storage system; and
storing each individual data value within a variable of the instance of the class having a name corresponding to the respective corresponding property name; and
each element of the data storage system has exactly one type, the type being chosen from a set including disks, logical units of storage (LUNs), array groups (RAID groups), subsystems, and servers;
creating, in memory, the instance of a class corresponding to the element of the data storage system includes;
detecting that the one row includes some data values corresponding to properties of a first element of the data storage system and other data values corresponding to properties of a second element of the data storage system, the first element and the second element being of different types;
instantiating a first class that represents elements of a type of the first element; and
instantiating a second class that represents elements of a type of the second element;
storing each individual data value within the variable of the instance of the class having the name corresponding to the respective corresponding property name includes;
storing each data value that corresponds to a property of the first element within a variable of the first class having a name corresponding to the respective corresponding property name; and
storing each data value that corresponds to a property of the second element within a variable of the second class having a name corresponding to the respective corresponding property name;
the first element is a disk;
the first class is a class that represents disks, the instantiated first class being a disk object;
the second element is a RAID group, the disk being a member of the RAID group, the RAID group having a RAID group identifier;
the second class is a class that represents RAID groups, the instantiated second class being a RAID group object;
storing each data value that corresponds to a property of the first element within a variable of the first class having a name corresponding to the respective corresponding property name includes;
storing a value representing a capacity of the disk in a capacity variable of the disk object;
storing a value representing a speed of the disk in a speed variable of the disk object;
storing the RAID group identifier in a RAID group ID variable of the disk object; and
storing each data value that corresponds to a property of the second element within a variable of the second class having a name corresponding to the respective corresponding property name includes;
storing a value representing the RAID group ID in a name variable of the RAID group object; and
storing a value representing a number of logical units in the RAID group in a Number of LUNs variable of the RAID group object.
9 Assignments
0 Petitions
Accused Products
Abstract
A method is provided. The method includes (a) sending, from a client device to a data storage system, a query regarding elements of the data storage system, (b) receiving, at the client device, from the data storage system, a query result, the query result containing information about a set of elements within the data storage system presented in tabular format, the set of elements being defined by the query, (c) parsing the query result, at the client device, to obtain a class object representing an element of the set of elements, and (d) performing an operation associated with the element on the class object. Corresponding apparatus and computer program products are also provided.
-
Citations
2 Claims
-
1. A method comprising:
-
sending, from a client device to a data storage system, a query regarding elements of the data storage system; receiving, at the client device, from the data storage system, a query result, the query result containing information about a set of elements within the data storage system presented in tabular format, the set of elements being defined by the query; parsing the query result, at the client device, to obtain a class object representing an element of the set of elements; and performing an operation associated with the element on the class object; wherein; the query result includes a table, the table including a plurality of rows, each row storing a fixed number of data values and each row corresponding to at least one unique element of the data storage system; parsing the query result to obtain the class object includes; reading a header row of the plurality of rows, the header row defining a list of properties stored within each row of the table; reading one row of the query result, the one row being distinct from the header row; dividing the one row into a set of individual data values; correlating each data value with a corresponding property defined within the header row; creating, in memory, an instance of a class corresponding to an element of the data storage system; and storing each individual data value within a variable of the instance of the class having a name corresponding to the respective corresponding property name; and each element of the data storage system has exactly one type, the type being chosen from a set including disks, logical units of storage (LUNs), array groups (RAID groups), subsystems, and servers; creating, in memory, the instance of a class corresponding to the element of the data storage system includes; detecting that the one row includes some data values corresponding to properties of a first element of the data storage system and other data values corresponding to properties of a second element of the data storage system, the first element and the second element being of different types; instantiating a first class that represents elements of a type of the first element; and instantiating a second class that represents elements of a type of the second element; storing each individual data value within the variable of the instance of the class having the name corresponding to the respective corresponding property name includes; storing each data value that corresponds to a property of the first element within a variable of the first class having a name corresponding to the respective corresponding property name; and storing each data value that corresponds to a property of the second element within a variable of the second class having a name corresponding to the respective corresponding property name; the first element is a disk; the first class is a class that represents disks, the instantiated first class being a disk object; the second element is a RAID group, the disk being a member of the RAID group, the RAID group having a RAID group identifier; the second class is a class that represents RAID groups, the instantiated second class being a RAID group object; storing each data value that corresponds to a property of the first element within a variable of the first class having a name corresponding to the respective corresponding property name includes; storing a value representing a capacity of the disk in a capacity variable of the disk object; storing a value representing a speed of the disk in a speed variable of the disk object; storing the RAID group identifier in a RAID group ID variable of the disk object; and storing each data value that corresponds to a property of the second element within a variable of the second class having a name corresponding to the respective corresponding property name includes; storing a value representing the RAID group ID in a name variable of the RAID group object; and storing a value representing a number of logical units in the RAID group in a Number of LUNs variable of the RAID group object.
-
-
2. A method comprising:
-
sending, from a client device to a data storage system, a query regarding elements of the data storage system; receiving, at the client device, from the data storage system, a query result, the query result containing information about a set of elements within the data storage system presented in tabular format, the set of elements being defined by the query; parsing the query result, at the client device, to obtain a class object representing an element of the set of elements; and performing an operation associated with the element on the class object; wherein; the query result includes a table, the table including a plurality of rows, each row storing a fixed number of data values and each row corresponding to at least one unique element of the data storage system; parsing the query result to obtain the class object includes; reading a header row of the plurality of rows, the header row defining a list of properties stored within each row of the table; reading one row of the query result, the one row being distinct from the header row; dividing the one row into a set of individual data values; correlating each data value with a corresponding property defined within the header row; creating, in memory, an instance of a class corresponding to an element of the data storage system; and storing each individual data value within a variable of the instance of the class having a name corresponding to the respective corresponding property name; and each element of the data storage system has exactly one type, the type being chosen from a set including disks, logical units of storage (LUNs), array groups (RAID groups), subsystems, and servers; creating, in memory, the instance of a class corresponding to the element of the data storage system includes; detecting that the one row includes some data values corresponding to properties of a first element of the data storage system and other data values corresponding to properties of a second element of the data storage system, the first element and the second element being of different types, the first element being designated as a primary element; and instantiating a primary class that represents elements of a type of the first element; storing each individual data value within the variable of the instance of the class having the name corresponding to the respective corresponding property name includes; storing each data value that corresponds to a property of the first element within a variable of the primary class having a name corresponding to the respective corresponding property name; and storing each data value that corresponds to a property of the second element within a variable of the primary class having a name corresponding to the respective corresponding property name, such variable name also indicating that it is associated with a second element type; the first element is a disk; the primary class is a class that represents disks, the instantiated primary class being a disk object; the second element is a RAID group, the disk being a member of the RAID group, the RAID group having a RAID group identifier; storing each data value that corresponds to a property of the first element within a variable of the first class having a name corresponding to the respective corresponding property name includes; storing a value representing a capacity of the disk in a capacity variable of the disk object; storing a value representing a speed of the disk in a speed variable of the disk object; and storing the RAID group identifier in a RAID group ID variable of the disk object; and storing a value representing a number of logical units in the RAID group in a Number of LUNs variable of the RAID group object includes storing a value representing a number of logical units in the RAID group in a Number of LUNs variable of the disk object.
-
Specification