Page 47 - Kaleidoscope Academic Conference Proceedings 2024
P. 47

Innovation and Digital Transformation for a Sustainable World




           continuous optimization of data quality. We will now delve   [     (                        )   ℎ     ]               (          )   (1)
           into detailed introductions of these two main perspectives.
                                                              That  is,  satisfying  certain  preconditions(precondition),
           2.1   Design  of  scenario-based  dynamic  inspection   executing rules based on certain inputs (input) and execute
                 methodology                                  rule(ruleExr).  Note  that  in  some  simple  scenarios,
                                                              preconditions may not exist and can be omitted, allowing
           2.1.1   Construction of general inspection formulas   direct execution of rule judgment.

           The  content  of  the  data  itself,  as  well  as  the  logical   2.1.2   Expression engine semantic expansion
           relationships  between  data,  are  generally  complex  and
           strongly  tied  to  business  processes.  Taking  CMDB  as  an   Although  the  expression  engine  inherently  supports  basic
           example, there are currently over 700 logical rules in CMDB,   data types and simple comparison operations, it still cannot
           and  these  rules  may  change  frequently  with  business   handle complex inspection semantics. For instance, in the
           dynamics. To adapt to this dynamic scenario, it is necessary   CMDB inspection rule scenarios, except for scenarios 1 and
           to  categorize  these  rules  into  scenarios,  extract  common   2,  where  native  expression  functionalities  can  be  utilized,
           formulas, so that all rules can be fitted into these formulas,   scenarios 3 to 7 are business-specific and cannot be natively
           forming  a  solution  with  high  generality.  Additionally,  to   supported by the expression engine. To address the inability
           address complex application scenarios, the formulas need to   of  the  expression  engine  to  natively  support  business-
           support a mechanism for nested usage. Through the analysis   specific rules, we need to extend its functionality, combining
           of inspection rules based on customer requirements, seven   the  extended  features  with  the  native  ones  to  meet  the
           common scenarios have been identified, including: "simple   requirements of various business scenarios. The relationship
           comparisons  such  as  size  and  non-emptiness",  "regular   between  the  extended  engine  functionality  and  business
           expression  validation",  "comparison  after  mapping  values   scenarios is illustrated in Figure 2.
           through  enumeration",  "values  must  be  within  an
           enumeration range", "rules maintaining uniqueness within a
           certain range", "rules requiring special semantic conversion
           to  values"  and  "rules  needing  to  meet  specific  business
           scope," as shown in Table 1.

              Table 1 – Division and examples of inspection rule
                           scenarios in CMDB

               Rule
             Scenario              Rule Example
                      The allocated bare metal image cannot be empty and
            1) Simple  must not be the string 'null'
            comparison  The allocatable memory should be greater than or   Figure 2 – Relationship between engine functionality
                      equal to the allocated memory                             and scenarios
                      The IPv4 address of the business network must adhere
            2) Regular   to the IPv4 format. If there are multiple IPv4 addresses
            expression  for the bare metal business network, please separate   A  brief  explanation  of  each  extension  in  the  Figure    2  is
            comparison
                      them with a semicolon, for example: 1.1.1.1   provided below:
            3) Enum   The CPU specification of the bare metal template <=   ⑴enum  mapping  extension.  This  extension  takes  one
            mapping   CPU quantity  * cores per CPU * threads(2)   parameter  to  map  the  enumeration  values  of  the  input
            comparison                                        parameter x in the CMDB, following the formula (2) referred
            4) Enum   The run type  for bare metal is enum, and the   to as the “Enumeration Value Mapping Formula”:
            Based     enumeration values should be selected from 0, 1, and 2
            comparison
            5) Unique  The management IP of bare metal servers within the         (  ) =         (  )     (2)
            comparison  same cluster must be unique
            6) Conversi  Allocatable VCPU cores < CPU quantity * cores per   ⑵isEnum extension. This extension takes two parameters
            on based  CPU * threads (2) * oversubscription ratio   to  determine  if  the  parameter  x  is  an  enumeration  value
            comparison
            7) Business  The image should match the current operating system   within the range of parameter y, following the formula (3)
            based                                             referred to as the “Enumeration Judgment Formula”:
            comparison
                                                                               (  ,   ) =             (  ,   )   (3)
           In the context of complex applications, these seven major
           scenarios  do  not  exist  in  isolation;  there  are  conditional   ⑶isUnique extension. This extension takes two parameters
           causal relationships between different scenarios that need to   to determine if the parameter x is unique within the range
           be combined for use. Through research, we can abstract any   specified by parameter y, following the formula (4) referred
           rule into a formula (1) referred to as “Inspection General   to as the “Uniqueness Formula”:
           Formula”:




                                                           – 3 –
   42   43   44   45   46   47   48   49   50   51   52