蛇屎是什么样子| 依靠是什么意思| 肺部磨玻璃结节需要注意什么| 贫血严重有什么症状| 浩浩荡荡是什么意思| 圣诞节在什么时候| 喉咙里老是有痰是什么原因| 红楼梦结局是什么| 八八年属什么生肖| 冶阳萎什么药最有效| 左手指头麻木是什么原因| 7月14号是什么星座| 湿热喝什么茶可以调理| 舔逼什么感觉| 生辉是什么意思| 闫和阎有什么区别| 寻常是什么意思| 实时更新是什么意思| 牛宝是什么| 1025是什么星座| 什么什么归赵| 喝水都会胖是什么原因| 睡多了头疼是什么原因| 嘴唇上有痣代表什么| 喝什么水去火| 什么是肝掌| 月经黑褐色是什么原因| 大美女是什么意思| 国家电网需要什么专业| 暂住证和居住证有什么区别| 脸上突然长痣是什么原因| 端粒酶是什么| 梦到和别人吵架是什么意思| 人授和试管有什么区别| 十月二十二是什么星座| 高同型半胱氨酸血症吃什么药| 一什么知什么成语| 急性胃炎吃什么药好| 南方是什么生肖| g1是什么意思| 排卵期会有什么症状| 什么汤补气血效果最好| 感康是什么| 劳动的反义词是什么| 全套什么意思| 今年为什么闰六月| 山狸是什么动物| 右脚浮肿预示着什么| 低钾是什么原因造成的| 益安宁丸主治什么病| 腰疼吃什么药最有效| 大姨妈每个月提前来是什么原因| 尿不净是什么原因| 胃酸吃什么食物好得快| 背水一战什么意思| 儿童鼻炎吃什么药| h代表什么| 丝棉是什么材料| 蚯蚓用什么呼吸| 功夫2什么时候上映| 黄体囊肿是什么意思| 送巧克力代表什么意思| 冰冻三尺非一日之寒什么意思| 甲醇对人体有什么伤害| 猫咪打呼噜代表什么| 大便排不出来是什么原因| 排气是什么意思| 来月经头疼吃什么药| 羊胎素是什么| 娅字五行属什么| 夕阳无限好只是近黄昏是什么意思| 暴露是什么意思| 12月24号是什么星座| 渗析是什么意思| 香薰是什么| 什么极了| 市人大副主任什么级别| 什么样的伤口需要打破伤风| 大人发烧吃什么药| 大便羊屎粒是什么原因| 水的ph值是什么意思| dem是什么| 普拉提是什么| 痛经挂什么科| 1990年什么命| 怀孕一个月有什么反应| 吃什么食物养肝| 手抖心慌是什么原因| 怀孕两周有什么症状| 夜盲症是什么意思| 2021属什么生肖| 月经头疼是什么原因| alt什么意思| 第二视角是什么意思| 情投意合是什么意思| 僧侣是什么意思| 598是什么意思| 锐步是什么档次| 安置房和商品房有什么区别| 手脚浮肿是什么原因| 老烂腿抹什么药膏最好| 泪囊炎用什么眼药水| 浅表性胃炎是什么意思| 小孩发育迟缓是什么原因造成的| 医生代表什么生肖| 五月十三日是什么星座| 感觉不到饿是什么原因| 格林巴利综合症是什么病| 大拇指脱皮是什么原因| 苦海无涯回头是岸是什么意思| 青光眼是什么原因引起的| 什么属相不能摆放大象| 月经不干净是什么原因| 双向什么意思| 浪琴手表属于什么档次| 2.0是什么意思| 早上空腹干呕什么原因| 法西斯是什么意思| jealousy是什么意思| 香奈儿属于什么档次| 正月是什么意思| 前面有个豹子是什么车| 杨梅泡酒有什么功效| 后背疼应该挂什么科| 梦见芝麻是什么意思| 7月28日是什么星座| 为什么月亮是红色的| 五花大绑是什么意思| 甲鱼和什么不能一起吃| 救人一命胜造七级浮屠是什么意思| 暗喻是什么意思| 左行气右行血什么意思| 天雨粟鬼夜哭什么意思| 幽门螺旋杆菌是什么病| 什么是肽| 咳嗽恶心干呕是什么原因引起的| 梦到别人给钱是什么意思| 闭关什么意思| 桑黄是什么| 新疆都有什么民族| 786是什么意思| cbd什么意思| 1972年出生属什么生肖| bobby什么意思| 看书有什么好处| 孕早期吃什么有利于胎心胎芽发育| 检查胃应该挂什么科| 腿脚肿胀是什么原因引起的| 背靠背协议是什么意思| 脐疝是什么| 腰部疼痛挂什么科| 脚掌发红是什么原因| 末梢血是什么意思| 梦见自己得了重病预示什么| 一个齿一个禹念什么| 智齿有什么作用| 拉肚子喝什么| 花枝是什么食材| 及第是什么意思| 1987年属什么今年多大| 白带过氧化氢阳性什么意思| 甜瓜不能和什么一起吃| 粽叶是什么植物| 豆浆什么时候喝最好| 脾稍大什么意思| 讨吃货什么意思| 戒断反应是什么意思| 喉咙不舒服是什么原因| 十一月八号是什么星座| a4纸能折什么| 文殊菩萨保佑什么| 菌血症是什么病| 幼儿腹泻吃什么食物| 孕妇吃辣椒对胎儿有什么影响| 长脓包是什么原因| 腘窝囊肿是什么原因引起的| 校正是什么意思| 冥是什么意思| 喉咙痛不能吃什么东西| 2009年是什么生肖年| 什么人容易得肺结核| 贫血吃什么水果补血最快| 眼睛疲劳干涩用什么眼药水| 怀孕头三个月吃什么好| 土豆淀粉能做什么美食| 舌头有问题看什么科| 乾是什么生肖| op什么意思| 6月25号是什么星座| 怂包是什么意思| 油皮适合用什么护肤品| 抽烟为什么会上瘾| 属龙是什么星座| 宰相肚里能撑船是什么意思| 头发突然秃了一块是什么原因| 半夜醒是什么原因| 减肥吃什么比较好| 女主是什么意思| 回族信仰什么教| 双子座男和什么座最配对| 5月26是什么星座| 茼蒿和什么相克| 乙肝对身体有什么影响| 吃什么东西可以减肥| 胸闷气短是什么原因造成的| 黑吃黑是什么意思| 过敏性鼻炎不能吃什么| 医院洗牙挂什么科| 嗝什么意思| 西安吃什么| 系鞋带什么意思| 舌头疼吃什么药好得快| 下肢血栓吃什么药| 煮牛骨头放什么调料| 谛听是什么意思| 梦见收稻谷有什么预兆| 什么人需要做肠镜检查| 莲蓬可以用来做什么| 纵隔占位是什么意思| winbond是什么品牌| 丙烯颜料用什么洗掉| 今年是什么属相| 头发油的快是什么原因| perrier是什么水| 湿疹吃什么水果好| 眼睛痒什么原因| 副部级是什么级别| 蛋白石是什么石头| 儿童身份证需要什么材料| 心动过缓吃什么药| 核磁共振什么时候出结果| smt是什么意思| 女今读什么| 手掌红是什么原因| 健脾胃吃什么食物好| bella是什么意思| 原本是什么意思| 红糖水什么时候喝最好| 文昌星是什么意思| 崖柏对人体有什么好处| 眼角流泪是什么原因| 做梦梦到狮子是什么意思| 胃酸过多吃什么药| 脚掌疼是什么原因| 中线是什么意思| 肺部磨玻璃结节需要注意什么| 肾炎的饮食应注意什么| 加盟什么店最赚钱投资小| 在野是什么意思| 为什么会长湿疹| 汤去掉三点水念什么| 梦见摘水果是什么意思| 曼陀罗是什么意思| 给女生送礼物送什么好| 咳嗽有痰吃什么水果| 大便羊粪状吃什么药| 儿童乘坐高铁需要什么证件| 蜻蜓点水的目的是什么| 发菜是什么菜| 小孩用脚尖走路是什么原因| d二聚体高是什么意思| 黄精什么功效| 异丙嗪又叫什么名| 平方是什么意思| 百度

Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management Download PDF

Info

Publication number
US8266120B2
US8266120B2 US12/138,351 US13835108A US8266120B2 US 8266120 B2 US8266120 B2 US 8266120B2 US 13835108 A US13835108 A US 13835108A US 8266120 B2 US8266120 B2 US 8266120B2
Authority
US
United States
Prior art keywords
attributes
acquisition
attribute
attribute acquisition
clause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US12/138,351
Other versions
US20090313297A1 (en
Inventor
Windsor Wee Sun Hsu
Pin Zhou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/138,351 priority Critical patent/US8266120B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HSU, WINDSOR WEE SUN, ZHOU, Pin
Publication of US20090313297A1 publication Critical patent/US20090313297A1/en
Application granted granted Critical
Publication of US8266120B2 publication Critical patent/US8266120B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data

Definitions

  • the present invention relates generally to data storage, and in particular to using selective attribute acquisition and clause evaluation for policy based data storage management.
  • Policy-based data management is based on a set of policies (rules), which comprise conditions and actions.
  • An example of a rule is: if the last access time is older than 30 days (condition), then archive the file (action).
  • condition if the last access time is older than 30 days (condition), then archive the file (action).
  • action if the last access time is older than 30 days (condition), then archive the file (action).
  • condition if the last access time is older than 30 days (condition), then archive the file (action).
  • Rule evaluation evaluates the rule condition on managed data objects (i.e., rule evaluation), and then applies the action to these objects on which the condition is satisfied (i.e., rule apply).
  • the rule evaluation includes the acquisition (e.g., crawling or mining) of those attributes, as well as the condition evaluation. Due to the instability of many attributes, conventional management systems must acquire attributes and perform evaluations repeatedly on all data objects. This introduces prohibitive overhead when dealing with a large number (e.g., millions) of data objects, especially when the rule uses content attributes, which are usually much more costly and obtained from very expensive mining operations.
  • the invention provides a method and apparatus for managing stored data objects.
  • One embodiment involves detecting attributes of a plurality of stored data objects based on a plurality of object management policies/rules, determining expected data storage management costs for each of a plurality of possible orders of attribute acquisition for the detected attributes, detecting an order of attribute acquisition that has a data storage management cost which is minimal or below a predetermined threshold, acquiring the attributes of the plurality of stored data objects based on said detected order of attribute acquisition, and executing an object management policy based on the acquired attributes to manage the plurality of stored data objects at a reduced cost for object storage, attribute acquisition and policy evaluation.
  • the apparatus comprising: a policy engine module configured to receive clause classification information of the policy from the policy analyzer and receive cached attributes, clause results, change logs and future status for the stored data objects from a database, a policy analyzer module configured to analyze the object management policy to detect involved attributes of the stored data objects and identify acquisition costs and clause failure probabilities required to execute the object management policy and to determine a low cost attribute acquisition order, and an information acquisition module configured to acquire the attributes of the stored data objects from the repository based on the low cost attribute acquisition order.
  • the policy engine module is further configured to execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
  • Yet another embodiment of the invention provides a computer program product that causes a computer to provide object management rules for stored data objects, detect involved attributes of stored data objects based on object management rules, determine expected data storage management costs for each possible orders of attribute acquisition for the detected attributes, detect an order of attribute acquisition with a low data storage management cost, acquire the attributes of the stored data objects based on the detected order of attribute acquisition, and execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
  • FIG. 1 illustrates a block diagram of a storage management process of one embodiment of the invention
  • FIG. 2 illustrates an exemplar graphical illustration showing failure probability granularity determination for an embodiment of the invention
  • FIG. 3 illustrates a block diagram of a storage management device of an embodiment of the invention
  • FIG. 4 illustrates an information flow diagram of the storage management device illustrated in FIG. 3 ;
  • FIG. 5 illustrates a distributed network including a storage management system, according to an embodiment of the invention.
  • the description may disclose several preferred embodiments of managing stored data objects, as well as operation and/or component parts thereof. While the following description will be described in terms of backup/archive processes and devices for clarity and to place the invention in context, it should be kept in mind that the teachings herein may have broad application to all types of systems, devices and applications.
  • the invention provides a method and apparatus for managing stored data objects.
  • One embodiment involves detecting attributes of stored data objects based on object management rules, determining expected data storage management costs, such as file size, storage device costs, read/write delays, bandwidth, system latency, speed, etc., for each possible attribute order of acquisition for the detected attributes, detecting an order of attribute acquisition with a low data storage management cost, acquiring the attributes of the stored data objects based on the detected order of attribute acquisition, and executing an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
  • expected data storage management costs such as file size, storage device costs, read/write delays, bandwidth, system latency, speed, etc.
  • FIG. 1 illustrates a block diagram of a process 100 for cost effective policy based data storage management, according to an embodiment of the invention.
  • the process 100 begins with block 110 where object management rules for stored data objects are provided.
  • the rules are provided by a system administrator, vendor, operating system, etc.
  • attributes of the stored data objects are detected based on the management rules.
  • the attributes include, e.g., metadata of the stored data objects, including creation date, last access time/date, last modified time/date, the content attributes, the data-application association, the access pattern, number of accesses, etc.
  • the process 100 implements a technique to acquire the attributes that have lower object management cost (which is minimal or lower than a selected threshold) or more likely will determine the result of a policy/rule first, and to stop acquisition as soon as the result is obtained. This is denoted herein as selective attribute acquisition.
  • Another technique implemented by the process 100 includes eliminating unnecessary rule clause evaluations that involve infrequently changed attributes (e.g., metadata) by leveraging certain additional historical information, which is denoted herein as selective clause evaluation.
  • any rule condition is converted into an equivalent formula that is in conjunctive normal form (CNF), which is a logical conjunction of CNF clauses.
  • CNF conjunctive normal form
  • a CNF clause is a disjunction of relational expressions.
  • a relational expression has the format of operand 1 op operand 2 , where operand 1 is an attribute or an arithmetic expression of attributes, op is a relational operator, such as less than, equal to, match, etc., and operand 2 is a value.
  • the CNF form of a condition is: E 1 ? E 2 ? . . .
  • e ij is a relational expression.
  • a simple example of a condition is: e 1 ? (e 2 ? e 3 ) ? e 4 , where the first and third clauses contain only a single expression which is denoted herein as simple clauses, and the second clause is a disjunction of two expressions.
  • any clause of a condition (which is in CNF form) is false, this condition will be false.
  • only the minimal information for finding out the outcome of the condition is acquired. For example, if there is a false clause in the CNF form, only the attributes used in this clause is necessary.
  • DNF disjunctive normal form
  • the decision is rule form independent, i.e., the same optimal decision (for the same optimization goal) is obtained using either CNF or DNF, as described below.
  • orderc the order which minimizes the expected cost using a CNF form
  • DNF form the order minimizing the expected cost for using a DNF form
  • acquisition order orderc obtained from CNF is also a candidate order for the DNF form, which means exp(Corder d ) ? exp(Corder c ) because order d minimizes the cost for the DNF form and its cost is no greater than the cost of any candidate order.
  • acquisition order order d obtained from DNF is also a candidate order for the CNF form, and thus, resulting in exp(Corder c ) ? exp(Corder d ).
  • management costs are considered along with attribute acquisition costs.
  • a storage management policy/rule condition usually involves different attributes with different acquisition costs. For example, acquiring attributes stored in the user space (e.g., a database) is usually less costly than acquiring metadata attributes through file system calls, whereas acquiring file system metadata attributes is usually less costly than getting content attributes through data mining.
  • the acquisition costs can be specified based on e.g., experience, user inputs, or statistics. If only the acquisition cost is considered, intuitively the less costly attributes should be acquired and corresponding clauses should be evaluated first. This is because the failure of these less costly clauses could save the acquisition and evaluation costs for the more costly attributes.
  • the acquisition costs of certain attributes can also be correlated. For example, performing a stat ( ) file system call (i.e., a system call that returns useful data about a file) on a file results in identification of all file system metadata attributes of this file. Therefore, at the cost (bandwidth, delay, latency, etc.) of a system call, a set of metadata attributes can be obtained. Acquiring only one metadata attribute for a file at a time (i.e., multiple system calls) is more costly than acquiring multiple metadata attributes at a time, which only adds negligible additional costs. For the attributes sharing the cost or having the correlated cost, they are acquired together.
  • the expected storage management costs are obtained for different orders of attribute acquisition.
  • the clauses in a rule condition have different roles in producing the final outcome of the condition, because they have different probabilities to be false (called failure probabilities).
  • failure probabilities the importance of the expressions in a clause is different due to their different failure probabilities. This implies that a specific clause evaluation order and expression evaluation order based on failure probabilities can lead to the outcome by acquiring the minimal number of attributes and evaluating the minimal number of clauses and expressions.
  • the clauses with higher failure probabilities are evaluated earlier than those with lesser failure probabilities.
  • the expressions with lesser failure probabilities are evaluated even earlier, because these evaluations have higher potential to filter out unnecessary clauses or expressions, and thus, the rule evaluation results are obtained faster and with less attribute acquisition and clause or expression evaluation efforts.
  • the failure probability of a rule clause is calculated based on the failure probabilities of its expressions.
  • the failure probabilities of rule expressions can be specified based on heuristics or user inputs due to the lack of actual evaluation information. Failure probabilities can then be continuously refined based on the statistics of the actual evaluation results.
  • both acquisition costs and failure probabilities are combined to provide guidance on the acquisition and evaluation order from different points of view.
  • the expected cost for determining the attribute acquisition order (as well as the evaluation order) is determined.
  • the expected cost is defined using the two factors.
  • the attribute acquisition costs for expressions e 1 , e 2 , e 3 and e 4 are denoted herein as c 1 , c 2 , c 3 and c 4 , respectively, and the failure probabilities for e 1 , e 2 , e 3 and e 4 are denoted herein as p 1 , p 2 , p 3 and p 4 , respectively.
  • the formula for the expected cost is similar to the form for CNF. The only difference is that in the formula for DNF, the probabilities should be the success probabilities instead of the failure probabilities.
  • an acquisition order to minimize the expected cost is detected according to an embodiment of the invention.
  • the attribute is acquired by following the order and the clause and expression evaluation is performed until a false clause is reached.
  • the expressions in a clause are evaluated one after another without interruption of other clause evaluations until this clause's result is obtained. This filters out many impossible permutations of all expressions.
  • a brute force way of finding the minimal cost is to try all possible acquisition orders as there are usually a small number of clauses and expressions in a condition, and the number of possible orders are not large.
  • certain possible acquisition orders are trimmed and the search space is reduced by examining the costs and probabilities.
  • the clauses with both high costs and low failure probabilities should not be placed in front of other clauses.
  • the exact minimal cost acquisition order is not necessary, and an acquisition order with a cost close to the minimal cost is detected.
  • the close to minimal acquisition order allows to further reduce the search space using some heuristics.
  • One implementation considers that if the attributes are separated into different groups, which have large gaps (e.g., orders of magnitude difference) in term of acquisition costs, the attributes in the high-cost group are acquired after other attributes in lower-cost groups.
  • the acquisition order is further optimized by recording the effective clause of a false rule condition.
  • the effective clause is the first clause with the false result.
  • Our policy evaluation stops when the first false clause is reached, which is the effective clause.
  • the effective clause only relates to false conditions, not true conditions.
  • the effective clause is evaluated first, and the expected cost is used to determine the order for the remaining clauses.
  • the effective clause can remain effective because of the usage pattern and the attributes of a data object remain similar for a short period.
  • the detected acquisition order in block 150 provides the guidance for not only the on-the-fly attribute acquisition and evaluation, but also background attribute acquisition (i.e., attributes are not acquired for immediate evaluation, but for future evaluation) under some resource constraint according to an embodiment of the invention. For example, if the available resource does not allow acquiring all attributes, only part of the attributes are acquired based on the detected acquisition order, to satisfy the constraint and also obtain the most useful attributes.
  • the acquisition costs and failure probabilities are grouped based on different granularities.
  • the finest is the single object or file granularity, and the coarsest is to assign the same costs and probabilities for all objects or files.
  • the finer the granularity is, the more accurate the expected cost is, the closer to optimal the chosen acquisition order is, and the smaller the acquisition and evaluation cost is.
  • the statistics are less meaningful at too fine of a granularity, therefore, the calculated acquisition order can become less optimal and lead to a larger overhead.
  • the acquisition costs from the same place should be similar across all objects.
  • the acquisition costs could largely depend on the size of the objects because of mining of the content, and different costs are assigned based on object size according to one embodiment of the invention.
  • the failure probabilities are more directory-dependent because the objects in the same directory tend to have similar access patterns, belong to a similar category and have related content.
  • all objects from the root directory are treated the same unless more detailed information based on heuristics or user inputs is obtained.
  • the statistics are gradually collected based on the real evaluation results according to an embodiment of the invention.
  • the statistic information is collected in a bottom-up manner, and if found at some level, the difference of the statistics of the child branches is larger than some threshold, the children will be separated into different groups with different statistics (failure probabilities).
  • FIG. 2 illustrates an example of determining failure probability granularity.
  • the condition is a single simple clause and the threshold for statistics difference is set to 0.3. From bottom-up, the statistic failure probability is obtained for each directory as shown in FIG. 2 .
  • the probabilities of d 2 210 and d 3 220 have the difference of 0.38, which is larger than the threshold 0.3, therefore, the sub-tree of d 2 210 and the sub-tree of d 3 220 become two different groups with different failure probabilities assigned, 0.73 and 0.35, respectively.
  • multiple rules use the same attributes, which is a common practice. If the shared attribute does not change frequently, it can be acquired only once and used for multiple rules. These shared static attributes (including the never changed constant attributes and the rarely changed stable attributes) are detected, and then cached into some place (e.g., a database) to save the acquisition costs. For stable attributes, its change log is maintained to track the attribute changes according to an embodiment of the invention.
  • the attributes are acquired based on the order of attribute acquisition having low costs (e.g., the lowest costs, close to the lowest costs, etc.).
  • the object management policy/rules are executed at the low cost for object storage, attribute acquisition and policy evaluation.
  • the acquisition and evaluation is optimized by leveraging the fact that some attributes never change or rarely change.
  • the detected order of attribute acquisition is adjusted with selective rule clause evaluations of the detected attributes and the attributes of the stored data objects are acquired based on the adjusted order of attribute acquisition. These selected attributes may not need to be repeatedly acquired and the corresponding clauses do not have to be repeatedly evaluated.
  • the following optimization example is based on a simple clause, which only consists of a single expression. The extension to the general clause is similar, but more complex.
  • this optimization requires classifying a clause based on its attribute and value.
  • the attribute can be classified as constant, stable or dynamic according to an embodiment of the invention.
  • Constant attributes e.g., the file creation time
  • Stable attributes change infrequently, for example, the file user ID and group ID fall into this category.
  • Dynamic attributes keep changing, such as the last access time. Most attributes belong to stable or dynamic.
  • the value can be classified either constant or variable according to an embodiment of the invention.
  • the variable value changes over time, and can be converted into a specific value based on the current time.
  • An example of the variable value is “30 days ago,” which represents a specific day corresponding to the current day.
  • the attribute could change, although not often.
  • the changes of the stable attribute are captured, such as building a change log for this attribute of all objects.
  • the clause is re-evaluated together with other clauses in the rule using expected cost.
  • the future status is to be determined and stored for clauses with variable values and constant (or stable) attributes. The future status discloses if the result could potentially change or not in the next evaluation.
  • the determination for future status is performed at every evaluation, assuming it is known when the next evaluation will occur, which is usually true. In this embodiment, the following process is performed:
  • Case 3 for a clause with a constant attribute and variable value, the future status is treated similarly to the change status, as in case 2. If the future status of the objects is “unchanged,” the rule evaluation on these objects is the same as case 1. For the objects with future status “changed,” the clause is re-evaluated with other clauses based on expected cost.
  • Case 4 for a clause with a stable attribute and variable value, the change log and the future status is inspected. For the objects having both “unchanged,” the rule evaluation is the same as case 1. For the objects with either one “changed,” re-evaluate this clause as well as others.
  • FIG. 3 illustrates a block diagram of a storage management device 300 according to an embodiment of the invention.
  • the storage management device 300 includes a policy engine module 310 , a policy analyzer module 320 , and an information acquisition module 330 .
  • storage management device 300 includes a storage device 350 , such as a database. As illustrated, storage management device 300 is connected to a repository 360 . In one embodiment of the invention, storage management device 300 incorporates all the functionality of process 100 .
  • the policy analyzer module 320 is configured to analyze the object management policy to detect involved attributes of the stored data objects and identify acquisition costs and clause failure probabilities required to execute the object management policy and to determine a low cost attribute acquisition order.
  • the policy engine module 310 is configured to receive cached attributes, clause results, change logs and future status for the stored data objects from storage device 350 .
  • the policy analyzer module 320 also parses the rules, classifies the rule clauses based on attributes and values, and feeds the clause classification results into the policy engine module 310 .
  • the policy analyzer module 320 also obtains the acquisition costs and initial failure probabilities from system default configuration or user inputs, and uses them to selectively acquire important attributes and perform partial evaluation.
  • the constant and stable attributes are stored, e.g., in storage device 350 .
  • the results, the change log and the future status for clauses are stored in storage device 350 .
  • the information acquisition module 330 is configured to acquire the attributes of the stored data objects from the repository 360 based on a low cost attribute acquisition order, and the acquisition costs are feed back to the policy analyzer module 320 and used for acquisition cost statistics.
  • the policy engine module 310 is further configured to execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage and object acquisition, and the evaluation/execution results are feed back to the policy analyzer module 320 and used for failure probability statistics.
  • FIG. 4 illustrates an information flow diagram of the storage management device illustrated in FIG. 3 .
  • FIG. 5 illustrates an embodiment of the invention with storage management device 300 coupled to distributed repository 1 510 to distributed repository N 520 , where N is a positive integer.
  • storage management device 300 manages objects stored in distributed repository 1 510 through distributed repository N 520 over a network, such as a Local Area Network (LAN), Wide Area Network (WAN), Internet, etc.
  • the distributed repositories 1 510 through N 520 communicate over the network either wirelessly or wired directly to the network. In one embodiment, only selected distributed repositories are managed.
  • the embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.
  • the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • the embodiments of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer, processing device, or any instruction execution system.
  • a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the medium can be electronic, magnetic, optical, or a semiconductor system (or apparatus or device).
  • Examples of a computer-readable medium include, but are not limited to, a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a RAM, a read-only memory (ROM), a rigid magnetic disk, an optical disk, etc.
  • Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
  • I/O devices can be connected to the system either directly or through intervening controllers.
  • Network adapters may also be connected to the system to enable the data processing system to become connected to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • Some embodiments of the invention include two techniques.
  • the first technique of these embodiments selective attribute acquisition, acquires the attributes that have a lower cost, or will determine the result of a rule first, and stops acquisition as soon as the result comes out.
  • the second technique of these embodiments selective clause evaluation, eliminates unnecessary evaluations that involve infrequently changed attributes by leveraging some extra information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a method and apparatus for managing stored data objects. The method includes detecting involved attributes of stored data objects based on object management rules, determining expected data storage management costs for each possible order of attribute acquisition for the detected attributes, detecting an order of attribute acquisition that has a data storage management cost which is minimal or below a predetermined threshold, acquiring the attributes of the stored data objects based on the detected order of attribute acquisition, and executing an object management policy based on the acquired attributes to manage the stored objects at the low cost for object storage, attribute acquisition and policy evaluation.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to data storage, and in particular to using selective attribute acquisition and clause evaluation for policy based data storage management.
2. Background Information
As the amount of data generated and stored persistently grows exponentially, automatically managing the data (e.g., information lifecycle management, archive and backup, etc.) has become more challenging.
One technique used for an automated data management system is the use of policy-based management. Policy-based data management is based on a set of policies (rules), which comprise conditions and actions. An example of a rule is: if the last access time is older than 30 days (condition), then archive the file (action). Such a management system evaluates the rule condition on managed data objects (i.e., rule evaluation), and then applies the action to these objects on which the condition is satisfied (i.e., rule apply).
Because the rule condition usually compares metadata or content attributes of data objects with certain values, the rule evaluation includes the acquisition (e.g., crawling or mining) of those attributes, as well as the condition evaluation. Due to the instability of many attributes, conventional management systems must acquire attributes and perform evaluations repeatedly on all data objects. This introduces prohibitive overhead when dealing with a large number (e.g., millions) of data objects, especially when the rule uses content attributes, which are usually much more costly and obtained from very expensive mining operations.
SUMMARY OF THE INVENTION
The invention provides a method and apparatus for managing stored data objects. One embodiment involves detecting attributes of a plurality of stored data objects based on a plurality of object management policies/rules, determining expected data storage management costs for each of a plurality of possible orders of attribute acquisition for the detected attributes, detecting an order of attribute acquisition that has a data storage management cost which is minimal or below a predetermined threshold, acquiring the attributes of the plurality of stored data objects based on said detected order of attribute acquisition, and executing an object management policy based on the acquired attributes to manage the plurality of stored data objects at a reduced cost for object storage, attribute acquisition and policy evaluation.
Another embodiment of the invention provides an apparatus for managing object storage. The apparatus comprising: a policy engine module configured to receive clause classification information of the policy from the policy analyzer and receive cached attributes, clause results, change logs and future status for the stored data objects from a database, a policy analyzer module configured to analyze the object management policy to detect involved attributes of the stored data objects and identify acquisition costs and clause failure probabilities required to execute the object management policy and to determine a low cost attribute acquisition order, and an information acquisition module configured to acquire the attributes of the stored data objects from the repository based on the low cost attribute acquisition order. The policy engine module is further configured to execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
Yet another embodiment of the invention provides a computer program product that causes a computer to provide object management rules for stored data objects, detect involved attributes of stored data objects based on object management rules, determine expected data storage management costs for each possible orders of attribute acquisition for the detected attributes, detect an order of attribute acquisition with a low data storage management cost, acquire the attributes of the stored data objects based on the detected order of attribute acquisition, and execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
Other aspects and advantages of the present invention will become apparent from the following detailed description, which, when taken in conjunction with the drawings, illustrate by way of example the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
For a fuller understanding of the nature and advantages of the invention, as well as a preferred mode of use, reference should be made to the following detailed description read in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates a block diagram of a storage management process of one embodiment of the invention;
FIG. 2 illustrates an exemplar graphical illustration showing failure probability granularity determination for an embodiment of the invention;
FIG. 3 illustrates a block diagram of a storage management device of an embodiment of the invention;
FIG. 4 illustrates an information flow diagram of the storage management device illustrated in FIG. 3; and
FIG. 5 illustrates a distributed network including a storage management system, according to an embodiment of the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The following description is made for the purpose of illustrating the general principles of the invention and is not meant to limit the inventive concepts claimed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations. Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the specification as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.
The description may disclose several preferred embodiments of managing stored data objects, as well as operation and/or component parts thereof. While the following description will be described in terms of backup/archive processes and devices for clarity and to place the invention in context, it should be kept in mind that the teachings herein may have broad application to all types of systems, devices and applications.
The invention provides a method and apparatus for managing stored data objects. One embodiment involves detecting attributes of stored data objects based on object management rules, determining expected data storage management costs, such as file size, storage device costs, read/write delays, bandwidth, system latency, speed, etc., for each possible attribute order of acquisition for the detected attributes, detecting an order of attribute acquisition with a low data storage management cost, acquiring the attributes of the stored data objects based on the detected order of attribute acquisition, and executing an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage, attribute acquisition and policy evaluation.
FIG. 1 illustrates a block diagram of a process 100 for cost effective policy based data storage management, according to an embodiment of the invention. The process 100 begins with block 110 where object management rules for stored data objects are provided. The rules are provided by a system administrator, vendor, operating system, etc. In block 120, attributes of the stored data objects are detected based on the management rules. The attributes include, e.g., metadata of the stored data objects, including creation date, last access time/date, last modified time/date, the content attributes, the data-application association, the access pattern, number of accesses, etc.
The process 100 implements a technique to acquire the attributes that have lower object management cost (which is minimal or lower than a selected threshold) or more likely will determine the result of a policy/rule first, and to stop acquisition as soon as the result is obtained. This is denoted herein as selective attribute acquisition. Another technique implemented by the process 100 includes eliminating unnecessary rule clause evaluations that involve infrequently changed attributes (e.g., metadata) by leveraging certain additional historical information, which is denoted herein as selective clause evaluation.
In the process 100, selective attribute acquisition minimizes the costs for acquiring the attributes of stored data objects used in a rule condition. According to one embodiment of the invention, any rule condition is converted into an equivalent formula that is in conjunctive normal form (CNF), which is a logical conjunction of CNF clauses. In this context, a CNF clause is a disjunction of relational expressions. In one example, a relational expression has the format of operand1 op operand2, where operand1 is an attribute or an arithmetic expression of attributes, op is a relational operator, such as less than, equal to, match, etc., and operand2 is a value. The CNF form of a condition is: E1∩E2∩ . . . ∩En, where Ei=ei1∪ei2∪ . . . ∪eim i is a CNF clause, and eij is a relational expression. A simple example of a condition is: e1∩(e2∪e3)∩e4, where the first and third clauses contain only a single expression which is denoted herein as simple clauses, and the second clause is a disjunction of two expressions.
In one embodiment of the invention, if any clause of a condition (which is in CNF form) is false, this condition will be false. In another embodiment of the invention, it may not be necessary to acquire every attribute and evaluate every clause. In this embodiment, only the minimal information for finding out the outcome of the condition is acquired. For example, if there is a false clause in the CNF form, only the attributes used in this clause is necessary.
In the block 130, different possible orders of attribute acquisition are detected. In one embodiment of the invention, two factors are used: attribute acquisition costs and rule clause failure possibilities. These factors help determine which attributes should be acquired to produce the final result of a condition as quick (less costly) as possible. Employing the two factors based on the CNF form, one embodiment of the invention determines what information is necessary for acquiring attributes. The same decision is obtained based on the disjunctive normal form (DNF), which is another normal form format (a logical disjunction of DNF clauses, and a DNF clause is a conjunction of relational expressions).
The decision is rule form independent, i.e., the same optimal decision (for the same optimization goal) is obtained using either CNF or DNF, as described below. Assume the order which minimizes the expected cost using a CNF form is orderc, and the order minimizing the expected cost for using a DNF form is orderd. Since the CNF form and DNF form are both equivalent to the rule condition, they use the same set of attributes. Therefore, acquisition order orderc obtained from CNF is also a candidate order for the DNF form, which means exp(Corderd)≦exp(Corderc) because orderd minimizes the cost for the DNF form and its cost is no greater than the cost of any candidate order. Similarly, acquisition order orderd obtained from DNF is also a candidate order for the CNF form, and thus, resulting in exp(Corderc)≦exp(Corderd). Based on said expressions, then exp(Corderc)=exp(Corderd), indicating that the acquisition orders obtained from CNF and DNF have the same minimal cost, therefore, the solution is independent on the form of the rule.
In the process 100, management costs are considered along with attribute acquisition costs. A storage management policy/rule condition usually involves different attributes with different acquisition costs. For example, acquiring attributes stored in the user space (e.g., a database) is usually less costly than acquiring metadata attributes through file system calls, whereas acquiring file system metadata attributes is usually less costly than getting content attributes through data mining. The acquisition costs can be specified based on e.g., experience, user inputs, or statistics. If only the acquisition cost is considered, intuitively the less costly attributes should be acquired and corresponding clauses should be evaluated first. This is because the failure of these less costly clauses could save the acquisition and evaluation costs for the more costly attributes.
The acquisition costs of certain attributes can also be correlated. For example, performing a stat ( ) file system call (i.e., a system call that returns useful data about a file) on a file results in identification of all file system metadata attributes of this file. Therefore, at the cost (bandwidth, delay, latency, etc.) of a system call, a set of metadata attributes can be obtained. Acquiring only one metadata attribute for a file at a time (i.e., multiple system calls) is more costly than acquiring multiple metadata attributes at a time, which only adds negligible additional costs. For the attributes sharing the cost or having the correlated cost, they are acquired together.
In the block 140, the expected storage management costs are obtained for different orders of attribute acquisition. The clauses in a rule condition have different roles in producing the final outcome of the condition, because they have different probabilities to be false (called failure probabilities). Similarly, the importance of the expressions in a clause is different due to their different failure probabilities. This implies that a specific clause evaluation order and expression evaluation order based on failure probabilities can lead to the outcome by acquiring the minimal number of attributes and evaluating the minimal number of clauses and expressions. In one example, the clauses with higher failure probabilities are evaluated earlier than those with lesser failure probabilities. In another example, the expressions with lesser failure probabilities are evaluated even earlier, because these evaluations have higher potential to filter out unnecessary clauses or expressions, and thus, the rule evaluation results are obtained faster and with less attribute acquisition and clause or expression evaluation efforts.
In one embodiment of the invention, the failure probability of a rule clause is calculated based on the failure probabilities of its expressions. At the start of one embodiment of the invention, in the process 100 the failure probabilities of rule expressions can be specified based on heuristics or user inputs due to the lack of actual evaluation information. Failure probabilities can then be continuously refined based on the statistics of the actual evaluation results.
In one example, both acquisition costs and failure probabilities are combined to provide guidance on the acquisition and evaluation order from different points of view. In order to combine these two factors together to gain an integrated guidance considering both aspects, in the block 140 the expected cost for determining the attribute acquisition order (as well as the evaluation order) is determined.
In one embodiment of the invention, the expected cost is defined using the two factors. For the rule condition example e1∩(e2∪e3)∩e4, the attribute acquisition costs for expressions e1, e2, e3 and e4 are denoted herein as c1, c2, c3 and c4, respectively, and the failure probabilities for e1, e2, e3 and e4 are denoted herein as p1, p2, p3 and p4, respectively. If the acquisition (or evaluation) order is e1→e2→e3→e4, then the expected cost for this order is: exp(C(1;2;3;4))=c1+(1?p1)*(c2+p2*c3)+(1?p1)*(1?p2*p3)*c4 according to an embodiment of the invention. The expected cost depends on the acquisition order, more generally, for a general condition of E1∩E2∩ . . . ∩En, where Ei=ei1∪ei2∪ . . . ∪eim i , if the acquisition or evaluation order of clauses is E1→E2→ . . . En, and for each Ei, the order of expressions is ei1→ei2→ . . . →eimi, then the expected cost for this order order1 is expressed as:
exp ? ? ( Corder ? ? 1 ) = ? C ? ? 1 + ( 1 - P 1 ) * C ? ? 2 + ( 1 - P 1 ) * ( 1 - P 2 ) * ? C ? ? 3 + ? + ( 1 - P 1 ) * ? * ( 1 - P n - 1 ) * Cn = ? i = 1 n ? ( j = 0 i - 1 ? ? ( 1 - p j ) ) * C i , P 0 = 0 ,
where Ci is the acquisition cost of the clause Ei, which is related to the expression retrieval order of Ei, and Pi is the failure probability of Ei, which can be calculated using the expression for failure probabilities of Ei:
Ci = c i ? ? 1 + p i ? ? 1 * c i ? ? 2 + p i ? ? 1 * p i ? ? 2 * c i ? ? 3 + ? + p i ? ? 1 * ? * p i ? ( m ? ? i - 1 ) * c im i = k = 1 im i ? ( i = 0 i ( m i - 1 ? ? ( p i ) * C ki , p i ? ? 0 = 1 , ? P i = p i ? ? 1 * p i ? ? 2 * ? * p im i = k = 1 im i ? ? p k
where cik and pik are the attribute acquisition cost and failure probability of the kth expression in the clause Ei, respectively. Therefore, the expected cost for this acquisition order becomes:
exp ? ? ( C order ? ? 1 ) = i = 1 n ? ( j = 0 i - 1 ? ? ( 1 - k = 1 im i ? ? p k ) ) * ( k = 1 im i ? ( i = 0 i ? ( m i - 1 ) ? ? p i ) * c k ) , ? p i ? ? 0 = 1
If the DNF form is used, the formula for the expected cost is similar to the form for CNF. The only difference is that in the formula for DNF, the probabilities should be the success probabilities instead of the failure probabilities.
In the block 150, an acquisition order to minimize the expected cost is detected according to an embodiment of the invention. The attribute is acquired by following the order and the clause and expression evaluation is performed until a false clause is reached. To decide a possible order candidate, the expressions in a clause are evaluated one after another without interruption of other clause evaluations until this clause's result is obtained. This filters out many impossible permutations of all expressions. According to one embodiment of the invention, a brute force way of finding the minimal cost is to try all possible acquisition orders as there are usually a small number of clauses and expressions in a condition, and the number of possible orders are not large.
In one embodiment of the invention, certain possible acquisition orders are trimmed and the search space is reduced by examining the costs and probabilities. For example, the clauses with both high costs and low failure probabilities should not be placed in front of other clauses. In one example, the exact minimal cost acquisition order is not necessary, and an acquisition order with a cost close to the minimal cost is detected. In this example, the close to minimal acquisition order allows to further reduce the search space using some heuristics. One implementation considers that if the attributes are separated into different groups, which have large gaps (e.g., orders of magnitude difference) in term of acquisition costs, the attributes in the high-cost group are acquired after other attributes in lower-cost groups.
In another embodiment of the invention, the acquisition order is further optimized by recording the effective clause of a false rule condition. The effective clause is the first clause with the false result. Our policy evaluation stops when the first false clause is reached, which is the effective clause. The effective clause only relates to false conditions, not true conditions. For a condition with the effective clause, in one embodiment of the invention, the effective clause is evaluated first, and the expected cost is used to determine the order for the remaining clauses. The effective clause can remain effective because of the usage pattern and the attributes of a data object remain similar for a short period.
The detected acquisition order in block 150 provides the guidance for not only the on-the-fly attribute acquisition and evaluation, but also background attribute acquisition (i.e., attributes are not acquired for immediate evaluation, but for future evaluation) under some resource constraint according to an embodiment of the invention. For example, if the available resource does not allow acquiring all attributes, only part of the attributes are acquired based on the detected acquisition order, to satisfy the constraint and also obtain the most useful attributes.
In one embodiment of the invention, the acquisition costs and failure probabilities are grouped based on different granularities. The finest is the single object or file granularity, and the coarsest is to assign the same costs and probabilities for all objects or files. Within a range, the finer the granularity is, the more accurate the expected cost is, the closer to optimal the chosen acquisition order is, and the smaller the acquisition and evaluation cost is. Beyond this range, however, the statistics are less meaningful at too fine of a granularity, therefore, the calculated acquisition order can become less optimal and lead to a larger overhead. The finer the granularity is, the larger the overhead for calculating the acquisition orders is, because more calculations are needed for more different values. Therefore, in one embodiment of the invention a granularity is selected that provides reasonably good accuracy without being too fine.
For metadata attributes, depending on the place of storage, such as the user space (e.g., a database), or the file system, the acquisition costs from the same place should be similar across all objects. For content attributes, however, the acquisition costs could largely depend on the size of the objects because of mining of the content, and different costs are assigned based on object size according to one embodiment of the invention. In this embodiment the failure probabilities are more directory-dependent because the objects in the same directory tend to have similar access patterns, belong to a similar category and have related content. In one embodiment of the invention before any probabilities are known, all objects from the root directory are treated the same unless more detailed information based on heuristics or user inputs is obtained. After history is obtained, as the process 100 is carried out, the statistics are gradually collected based on the real evaluation results according to an embodiment of the invention. During process 100, the statistic information is collected in a bottom-up manner, and if found at some level, the difference of the statistics of the child branches is larger than some threshold, the children will be separated into different groups with different statistics (failure probabilities).
FIG. 2 illustrates an example of determining failure probability granularity. In the example, the condition is a single simple clause and the threshold for statistics difference is set to 0.3. From bottom-up, the statistic failure probability is obtained for each directory as shown in FIG. 2. The probabilities of d2 210 and d3 220 have the difference of 0.38, which is larger than the threshold 0.3, therefore, the sub-tree of d2 210 and the sub-tree of d3 220 become two different groups with different failure probabilities assigned, 0.73 and 0.35, respectively.
In another embodiment of the invention, multiple rules use the same attributes, which is a common practice. If the shared attribute does not change frequently, it can be acquired only once and used for multiple rules. These shared static attributes (including the never changed constant attributes and the rarely changed stable attributes) are detected, and then cached into some place (e.g., a database) to save the acquisition costs. For stable attributes, its change log is maintained to track the attribute changes according to an embodiment of the invention.
In block 160, the attributes are acquired based on the order of attribute acquisition having low costs (e.g., the lowest costs, close to the lowest costs, etc.). In block 170, the object management policy/rules are executed at the low cost for object storage, attribute acquisition and policy evaluation.
In another embodiment of the invention, in addition to using the expected cost for selective attribute acquisition, the acquisition and evaluation is optimized by leveraging the fact that some attributes never change or rarely change. In this embodiment of the invention, the detected order of attribute acquisition is adjusted with selective rule clause evaluations of the detected attributes and the attributes of the stored data objects are acquired based on the adjusted order of attribute acquisition. These selected attributes may not need to be repeatedly acquired and the corresponding clauses do not have to be repeatedly evaluated. For ease of discussion, the following optimization example is based on a simple clause, which only consists of a single expression. The extension to the general clause is similar, but more complex.
In this embodiment of the invention, this optimization requires classifying a clause based on its attribute and value. The attribute can be classified as constant, stable or dynamic according to an embodiment of the invention. Constant attributes (e.g., the file creation time) will never change. Stable attributes change infrequently, for example, the file user ID and group ID fall into this category. Dynamic attributes keep changing, such as the last access time. Most attributes belong to stable or dynamic.
The value can be classified either constant or variable according to an embodiment of the invention. The variable value changes over time, and can be converted into a specific value based on the current time. An example of the variable value is “30 days ago,” which represents a specific day corresponding to the current day. In one embodiment of the invention there are six types of clauses based on different combinations of attributes and values. Table 1 summarizes the optimizations for different clause types and the additional information required by these optimizations, according to an embodiment of the invention.
百度 所以,为了给大家营造有序、安全、畅通的道路交通环境,快来吐槽吧。
TABLE 1
Attribute
Constant Stable Dynamic
Extra Info. Action Extra Info. Action Extra Info. Action
VALUE Constant Clause Result Case 1: Clause result Case 2: N/A N/A
True Result: Change log Attr. Unchanged:
Ignore this clause same as case 1
False Result: Attr. Changed:
no evaluation no optimization
Variable Clause Result Case 3: Clause result Case 4: N/A N/A
Future status Status unchanged: Change log Both unchanged:
same as case 1 Future status same as case 1
Status changed: Either changed:
No optimization no optimization
In one embodiment of the invention, for Case 1: for a rule clause with a constant attribute and constant value, its evaluation result never changes, therefore the result is stored for future use. If its result obtained is true, this clause is ignored and the expected cost technique is applied to the remaining clauses, otherwise, the result of the rule will be false since the rule is a logical conjunction of clauses.
In one embodiment of the invention, for Case 2: for a clause with a stable attribute and constant value, the attribute could change, although not often. The changes of the stable attribute are captured, such as building a change log for this attribute of all objects. For the objects with the unchanged attributes, it is handled the same as with case 1. For the changed attribute, the clause is re-evaluated together with other clauses in the rule using expected cost. In one embodiment of the invention, the future status is to be determined and stored for clauses with variable values and constant (or stable) attributes. The future status discloses if the result could potentially change or not in the next evaluation. In one embodiment of the invention, the determination for future status is performed at every evaluation, assuming it is known when the next evaluation will occur, which is usually true. In this embodiment, the following process is performed:
1. Obtain the specific value of the variable value based on next evaluation time.
2. For a clause with a constant attribute and variable value, simply determine the next evaluation result to determine the future status.
3. For a clause with a stable attribute and variable value, assuming the attribute will not change, it is treated the same as constant. The reason this is done is because even if this attribute of some objects change later, the changes will be captured by the change log, and the clause will be re-evaluated for these changed objects regardless the future status.
Accordingly, the future status is leveraged for the following two cases. Case 3: for a clause with a constant attribute and variable value, the future status is treated similarly to the change status, as in case 2. If the future status of the objects is “unchanged,” the rule evaluation on these objects is the same as case 1. For the objects with future status “changed,” the clause is re-evaluated with other clauses based on expected cost.
Case 4: for a clause with a stable attribute and variable value, the change log and the future status is inspected. For the objects having both “unchanged,” the rule evaluation is the same as case 1. For the objects with either one “changed,” re-evaluate this clause as well as others.
FIG. 3 illustrates a block diagram of a storage management device 300 according to an embodiment of the invention. In one embodiment, the storage management device 300 includes a policy engine module 310, a policy analyzer module 320, and an information acquisition module 330. In one embodiment, storage management device 300 includes a storage device 350, such as a database. As illustrated, storage management device 300 is connected to a repository 360. In one embodiment of the invention, storage management device 300 incorporates all the functionality of process 100.
In one embodiment of the invention the policy analyzer module 320 is configured to analyze the object management policy to detect involved attributes of the stored data objects and identify acquisition costs and clause failure probabilities required to execute the object management policy and to determine a low cost attribute acquisition order. In one embodiment, the policy engine module 310 is configured to receive cached attributes, clause results, change logs and future status for the stored data objects from storage device 350. The policy analyzer module 320 also parses the rules, classifies the rule clauses based on attributes and values, and feeds the clause classification results into the policy engine module 310.
The policy analyzer module 320 also obtains the acquisition costs and initial failure probabilities from system default configuration or user inputs, and uses them to selectively acquire important attributes and perform partial evaluation. To reduce the acquisition costs, in one embodiment of the invention the constant and stable attributes are stored, e.g., in storage device 350. To reduce the policy evaluation costs and the attribute acquisition costs by using the clause classification generated by the policy analyzer module, in one embodiment of the invention, the results, the change log and the future status for clauses are stored in storage device 350.
In one embodiment the information acquisition module 330 is configured to acquire the attributes of the stored data objects from the repository 360 based on a low cost attribute acquisition order, and the acquisition costs are feed back to the policy analyzer module 320 and used for acquisition cost statistics. The policy engine module 310 is further configured to execute an object management policy based on the acquired attributes to manage the stored data objects at the low cost for object storage and object acquisition, and the evaluation/execution results are feed back to the policy analyzer module 320 and used for failure probability statistics. FIG. 4 illustrates an information flow diagram of the storage management device illustrated in FIG. 3.
FIG. 5 illustrates an embodiment of the invention with storage management device 300 coupled to distributed repository 1 510 to distributed repository N 520, where N is a positive integer. In this embodiment of the invention, storage management device 300 manages objects stored in distributed repository 1 510 through distributed repository N 520 over a network, such as a Local Area Network (LAN), Wide Area Network (WAN), Internet, etc. The distributed repositories 1 510 through N 520 communicate over the network either wirelessly or wired directly to the network. In one embodiment, only selected distributed repositories are managed.
The embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the embodiments of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer, processing device, or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be electronic, magnetic, optical, or a semiconductor system (or apparatus or device). Examples of a computer-readable medium include, but are not limited to, a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a RAM, a read-only memory (ROM), a rigid magnetic disk, an optical disk, etc. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be connected to the system either directly or through intervening controllers. Network adapters may also be connected to the system to enable the data processing system to become connected to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
Some embodiments of the invention include two techniques. The first technique of these embodiments, selective attribute acquisition, acquires the attributes that have a lower cost, or will determine the result of a rule first, and stops acquisition as soon as the result comes out. The second technique of these embodiments, selective clause evaluation, eliminates unnecessary evaluations that involve infrequently changed attributes by leveraging some extra information.
In the description above, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. For example, well-known equivalent components and elements may be substituted in place of those described herein, and similarly, well-known equivalent techniques may be substituted in place of the particular techniques disclosed. In other instances, well-known structures and techniques have not been shown in detail to avoid obscuring the understanding of this description.
Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments. If the specification states a component, feature, structure, or characteristic “may”, “might”, or “could” be included, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.

Claims (18)

1. A method of managing stored data objects, comprising:
detecting involved attributes of a plurality of stored data objects based on a plurality of object management rules;
acquiring the necessary attributes for producing the policy evaluation result with low cost based on selective attribute acquisition and elimination of rule clause evaluations involving attributes determined to have infrequent changes based on historical information, wherein selective attribute acquisition comprises determining expected data storage management costs for each of a plurality of possible orders of attribute acquisition for the detected attributes based on associated attribute acquisition cost for each attribute, and the determined expected data storage management costs is defined based on attribute acquisition costs and failure probabilities, wherein the failure probabilities are continuously refined based on statistics of evaluation results of actual attribute acquisition costs and failures of rule expressions; and
executing an object management policy based on analyzing acquisition order of the acquired attributes to manage the plurality of stored data objects at reduced cost for object storage, attribute acquisition and policy evaluation, wherein each attribute is associated with an acquisition cost value.
2. The method of claim 1, wherein selective attribute acquisition further comprises:
detecting an order of attribute acquisition that has a data storage management cost below a predetermined threshold; and
acquiring the attributes of the plurality of stored data objects based on said detected order of attribute acquisition.
3. The method of claim 2, further comprising:
adjusting said detected order of attribute acquisition with effective clause information and selective rule clause evaluations of the detected attributes; and
acquiring the attributes of the plurality of stored data objects based on the adjusted order of attribute acquisition.
4. The method of claim 3, wherein selective rule clause evaluations are based on classifying clauses based on attribute stability and attribute value state.
5. The method of claim 2, further comprising reducing the plurality of possible orders of attribute acquisition based on the heuristics.
6. The method of claim 1, further comprising:
transforming each rule into a conjunctive normal form; and
analyzing the transformed rules to determine required attribute acquisition costs and failure probabilities and determine a plurality of possible order of attribute acquisition based on the detected attributes.
7. The method of claim 6, wherein the required attribute acquisition costs and rule failure probabilities are obtained from system default configuration or user inputs, or dynamically determined based on evaluation history.
8. The method of claim 1, further comprising:
identifying shared attributes of a plurality of objects used by the plurality of object management rules;
classifying shared attributes based on their change frequencies; and
storing the never or rarely changed shared attributes for single acquisition and use of the shared attributes for the plurality of object management rules for reduced acquisition cost.
9. An apparatus for managing object storage, comprising:
a processing hardware device coupled with:
a policy engine module configured for receiving a plurality of cached attributes, clause results, change logs and future status for the plurality of stored data objects from a database for producing a policy evaluation result with low cost based on selective attribute acquisition and elimination of rule clause evaluations involving attributes determined to have infrequent changes based on historical information;
a policy analyzer module configured for analyzing the object management policy for detecting involved attributes of the plurality of stored data objects, for identifying acquisition costs and clause failure probabilities required to execute the object management policy and for determining attribute acquisition order that has a data storage management cost which is minimal or below a predetermined threshold; and
an information acquisition module configured to acquire the attributes of the plurality of stored data objects from the repository based on the low cost attribute acquisition order,
wherein the policy engine module is further configured for executing an object management policy based on analysis of acquisition order for the acquired attributes for managing the plurality of stored data objects at the low cost for object storage, attribute acquisition and policy evaluation, wherein each attribute is associated with an acquisition cost value, and wherein selective attribute acquisition comprises determining expected data storage management costs for each of a plurality of possible orders of attribute acquisition for the detected attributes based on associated attribute acquisition cost for each attribute, and the determined expected data storage management costs is defined based on attribute acquisition costs and failure probabilities, wherein the failure probabilities are continuously refined based on statistics of evaluation results of actual attribute acquisition costs and failures of rule expressions.
10. The apparatus of claim 9, wherein the policy analyzer module is further configured for:
classifying clauses based on its attribute and value state; and
sending the clause classification information to the policy engine module for storing clause results and/or change logs and/or future status in a database based on clause classifications.
11. The apparatus of claim 9, wherein the policy analyzer module is further configured for:
identifying shared attributes of a plurality of objects used by the plurality of object management rules;
classifying shared attributes based on their change frequencies; and
sending the shared attribute classification information to the information acquisition module for storing constant and stable shared attributes in a database for single acquisition and use of the shared attributes for the plurality of object management rules for reduced acquisition cost.
12. A computer program product for managing stored data objects comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
detect involved attributes of a plurality of stored data objects based on a plurality of object management rules;
acquire the necessary attributes for producing the policy evaluation result with low cost based on selective attribute acquisition and elimination of rule clause evaluations involving attributes determined to have infrequent changes based on historical information;
determine expected data storage management costs for each of a plurality of possible orders of attribute acquisition for the detected attributes, wherein the determined expected data storage management costs is defined based on attribute acquisition costs and failure probabilities; and
execute an object management policy based on analyzing acquisition order of the acquired attributes to manage the plurality of stored data objects at reduced cost for object storage, attribute acquisition and policy evaluation, wherein each attribute is associated with an acquisition cost value.
13. The computer program product of claim 12, wherein the computer readable program when executed on the computer further causes the computer to:
detect an order of attribute acquisition that has a data storage management cost below a predetermined threshold; and
acquire the attributes of the plurality of stored data objects based on said detected order of attribute acquisition.
14. The computer program product of claim 13, wherein the computer readable program when executed on the computer further causes the computer to:
adjust said detected order of attribute acquisition with effective clause information and selective rule clause evaluations of the detected attributes; and
acquire the attributes of the plurality of stored data objects based on the adjusted order of attribute acquisition.
15. The computer program product of claim 13, wherein the computer readable program when executed on the computer further causes the computer to reduce the plurality of possible orders of attribute acquisition based on the heuristics.
16. The computer program product of claim 12, wherein the computer readable program when executed on the computer further causes the computer to:
transform each rule into a conjunctive normal form; and
analyze the transformed rules to determine required attribute acquisition costs and failure probabilities and determine a plurality of possible order of attribute acquisition based on the detected attributes.
17. The computer program product of claim 16, wherein the required attribute acquisition costs and rule failure probabilities are obtained from system default configuration or user inputs, or dynamically determined based on evaluation history.
18. The computer program product of claim 12, wherein the computer readable program when executed on the computer further causes the computer to:
identify shared attributes of a plurality of objects used by the plurality of object management rules;
classify shared attributes based on their change frequencies; and
store the never or rarely changed shared attributes for single acquisition and use-of the shared attributes for the plurality of object management rules for reduced acquisition cost.
US12/138,351 2025-08-08 2025-08-08 Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management Expired - Fee Related US8266120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/138,351 US8266120B2 (en) 2025-08-08 2025-08-08 Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/138,351 US8266120B2 (en) 2025-08-08 2025-08-08 Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management

Publications (2)

Publication Number Publication Date
US20090313297A1 US20090313297A1 (en) 2025-08-08
US8266120B2 true US8266120B2 (en) 2025-08-08

Family

ID=41415740

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/138,351 Expired - Fee Related US8266120B2 (en) 2025-08-08 2025-08-08 Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management

Country Status (1)

Country Link
US (1) US8266120B2 (en)

Cited By (2)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US10372708B1 (en) * 2025-08-08 2025-08-08 Teradata Us, Inc. Statistic normalization in a data store system
US12069340B2 (en) * 2025-08-08 2025-08-08 Fujifilm Corporation Image processing device, operation method of image processing device, and operation program of image processing device

Families Citing this family (7)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US8655824B1 (en) * 2025-08-08 2025-08-08 The Boeing Company Global policy framework analyzer
JP5993938B2 (en) * 2025-08-08 2025-08-08 ヴイエムウェア インコーポレイテッドVMware,Inc. Dynamic management of groups for entitlement and provisioning of computer resources
US9619805B1 (en) * 2025-08-08 2025-08-08 Amazon Technologies, Inc. Predictive fact generation for query optimization
US10642784B2 (en) * 2025-08-08 2025-08-08 International Business Machines Corporation Reducing read operations and branches in file system policy checks
US11580061B2 (en) * 2025-08-08 2025-08-08 Acronis International Gmbh System and method for file archiving using machine learning
CN112308474B (en) * 2025-08-08 2025-08-08 北京京东振世信息技术有限公司 Goods supplementing method and system, medium and electronic equipment thereof
CN119127652B (en) * 2025-08-08 2025-08-08 苏州思萃区块链技术研究所有限公司 Method for automatically monitoring data acquisition progress

Citations (11)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US5276776A (en) * 2025-08-08 2025-08-08 International Business Machines Corporation System and method for building a computer-based Rete pattern matching network
US20030212687A1 (en) * 2025-08-08 2025-08-08 Gonos Dan G. Data archive recovery
US6976090B2 (en) * 2025-08-08 2025-08-08 Actona Technologies Ltd. Differentiated content and application delivery via internet
US20060080353A1 (en) * 2025-08-08 2025-08-08 Vladimir Miloushev Directory aggregation for files distributed over a plurality of servers in a switched file system
US7136883B2 (en) * 2025-08-08 2025-08-08 Siemens Medial Solutions Health Services Corporation System for managing object storage and retrieval in partitioned storage media
US20060259901A1 (en) 2025-08-08 2025-08-08 Kaplan Marc A Policy decision stash for storage lifecycle management
US20060282473A1 (en) 2025-08-08 2025-08-08 Horrocks Adam S Rules-based data evaluation and process trigger system and method
US20070094316A1 (en) * 2025-08-08 2025-08-08 Andres Rodriguez Policy-based management of a redundant array of independent nodes
US7346844B1 (en) * 2025-08-08 2025-08-08 International Business Machines, Corporation Method and system for moving content in a content object stored in a data repository
US20080091682A1 (en) * 2025-08-08 2025-08-08 Blue Jungle Preventing Conflicts of Interests Between Two or More Groups Using Applications
US7386577B2 (en) * 2025-08-08 2025-08-08 International Business Machines Corporation Dynamic determination of transaction boundaries in workflow systems

Patent Citations (11)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US5276776A (en) * 2025-08-08 2025-08-08 International Business Machines Corporation System and method for building a computer-based Rete pattern matching network
US7346844B1 (en) * 2025-08-08 2025-08-08 International Business Machines, Corporation Method and system for moving content in a content object stored in a data repository
US6976090B2 (en) * 2025-08-08 2025-08-08 Actona Technologies Ltd. Differentiated content and application delivery via internet
US20060080353A1 (en) * 2025-08-08 2025-08-08 Vladimir Miloushev Directory aggregation for files distributed over a plurality of servers in a switched file system
US7136883B2 (en) * 2025-08-08 2025-08-08 Siemens Medial Solutions Health Services Corporation System for managing object storage and retrieval in partitioned storage media
US20030212687A1 (en) * 2025-08-08 2025-08-08 Gonos Dan G. Data archive recovery
US20070094316A1 (en) * 2025-08-08 2025-08-08 Andres Rodriguez Policy-based management of a redundant array of independent nodes
US7386577B2 (en) * 2025-08-08 2025-08-08 International Business Machines Corporation Dynamic determination of transaction boundaries in workflow systems
US20060259901A1 (en) 2025-08-08 2025-08-08 Kaplan Marc A Policy decision stash for storage lifecycle management
US20060282473A1 (en) 2025-08-08 2025-08-08 Horrocks Adam S Rules-based data evaluation and process trigger system and method
US20080091682A1 (en) * 2025-08-08 2025-08-08 Blue Jungle Preventing Conflicts of Interests Between Two or More Groups Using Applications

Cited By (2)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US10372708B1 (en) * 2025-08-08 2025-08-08 Teradata Us, Inc. Statistic normalization in a data store system
US12069340B2 (en) * 2025-08-08 2025-08-08 Fujifilm Corporation Image processing device, operation method of image processing device, and operation program of image processing device

Also Published As

Publication number Publication date
US20090313297A1 (en) 2025-08-08

Similar Documents

Publication Publication Date Title
US8266120B2 (en) Method and apparatus for using selective attribute acquisition and clause evaluation for policy based storage management
US12254037B2 (en) Log parsing method and device, server and storage medium
US7917503B2 (en) Specifying relevance ranking preferences utilizing search scopes
US8131684B2 (en) Adaptive archive data management
US9135261B2 (en) Systems and methods for facilitating data discovery
US8359652B2 (en) Detecting anomalies in access control lists
US10430469B2 (en) Enhanced document input parsing
US10565172B2 (en) Adjusting application of a set of data quality rules based on data analysis
US10229210B2 (en) Search query task management for search system tuning
WO2018205881A1 (en) Estimating the number of samples satisfying a query
US20070185896A1 (en) Binning predictors using per-predictor trees and MDL pruning
US20090259651A1 (en) Search results ranking using editing distance and document information
US20160162548A1 (en) Query optimization with zone map selectivity modeling
US20090100078A1 (en) Method and system for constructing data tag based on a concept relation network
US9110949B2 (en) Generating estimates for query optimization
US7562067B2 (en) Systems and methods for estimating functional relationships in a database
US9706005B2 (en) Providing automatable units for infrastructure support
CN116483831B (en) Recommendation index generation method for distributed database
US10885038B2 (en) System and method for adaptive information storage management
US20180196814A1 (en) Qualitative and quantitative analysis of data artifacts using a cognitive approach
US20060184474A1 (en) Data analysis apparatus, data analysis program, and data analysis method
US11640543B2 (en) Rule induction to find and describe patterns in data
US20210349874A1 (en) Automated database index management
CN117591673B (en) Log grouping method, device, equipment and storage medium
Liu et al. Discovery of approximate differential dependencies

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSU, WINDSOR WEE SUN;ZHOU, PIN;SIGNING DATES FROM 20080602 TO 20080603;REEL/FRAME:021089/0877

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20200911

囊实性结节是什么意思 什么草 12305是什么电话 减肥喝什么饮料 单是什么意思
溃疡用什么药 刀鱼和带鱼有什么区别 玉兰油属于什么档次 肝脏是什么器官 帕金森病是什么原因引起的
宫颈机能不全是什么原因造成的 青龙白虎是什么意思 月亮为什么会有圆缺变化 通便吃什么最快排便 万艾可是什么药
乙肝不能吃什么东西 尤加一笔是什么字 夏天脚底冰凉是什么原因 佛系是什么意思啊 为什么喝酒
cmf是什么hcv8jop8ns1r.cn 市组织部长是什么级别hcv9jop0ns6r.cn 木木耳朵旁是什么字hcv9jop0ns0r.cn 算命先生是什么生肖hkuteam.com 9.9是什么星座hcv9jop0ns6r.cn
净土的意思是什么hcv7jop6ns0r.cn 血小板降低是什么病hcv8jop0ns6r.cn 嗳气吃什么药最有效hcv9jop6ns6r.cn 吃了螃蟹不能吃什么hcv9jop4ns8r.cn 间质瘤是什么病hcv8jop4ns7r.cn
血管硬化吃什么能软化kuyehao.com 轻歌曼舞是什么意思hcv8jop0ns5r.cn 1972年五行属什么hcv7jop6ns7r.cn 慢性疾病都包括什么病hcv8jop3ns6r.cn 布加综合征是什么病hcv8jop9ns2r.cn
小孩子隔三差五流鼻血什么原因hcv9jop7ns1r.cn 无故流鼻血是什么原因hcv9jop0ns8r.cn 木五行属什么qingzhougame.com 台风是什么hcv9jop6ns7r.cn 嘈杂是什么意思hcv7jop5ns4r.cn
百度