Research Article
Ldasip: A Lightweight Dynamic Audit Approach for Sensitive Information Protection in Cloud Storage
Algorithm 3
Block searching algorithm.
| Inputs: user file block m, and deputy root nodes signature set Γ | | Output: {path, {tp.Ψ, tp.HASH, tp.F} | | SEARCHING (Γ, m, i) | | SORT(R∗, cmp_F)//Order R∗ according to access frequency F. | | FOR i = 1 TO R∗.size()//Traverse all R∗ | | { | | QUEUE<TreeNode>QUE | | QUE.push(R∗[i]) | | R∗[i].F + = 1 | | WHILE(!Q.empty()) | | { | | TreeNode tp = QUE.top() | | QUE.pop() | | IF(tp.Child.empty() andand tp.HASH = = m.HASH) | | { | | List<TreeNode> path; | | path.add(tp) | | WHILE(path.back().Q = = 0) | | { | | path.add(path.back().Father) | | } | | REVERSE(path) | | return {path, {tp.Ψ, tp.HASH, tp.F}}//Return path, information | | } | | ELSE | | { | | FOR j = 1 TO tp.Child.size() DO | | { | | QUE.push(tp.Child[j]) | | } | | } | | } | | } |
|