最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

XML关键字检索的访问控制规则和索引

IT圈 admin 44浏览 0评论

2024年3月19日发(作者:孛冬雪)

第28卷第12期 

2011年l2月 

计算机应用与软件 

Computer Applications and Software 

V01.28 No.12 

Dec.2011 

XML关键字检索的访问控制规则和索引 

李晓东 黄 浩 朱 皓杨卫东 

(复旦大学计算机科学技术学院上海200433) 

摘要XML数据库的关键字检索简单易用,并且用户不必了解数据库的模式,近期受到人们的广泛关注。当前的相关研究主 

要集中于关键字检索的算法以及返回结果的组织和排序,然而却忽视了关键字的安全访问控制问题。结合XML关键字搜索和 

XML安全访问控制,提出一种新的建立于XML Schema上基于角色的访问控制规则SRACP(Schema Role Access Control Policy),并在 

SRACP规则的基础上建立安全的XML关键字检索的索引(SRACP—Index),包括:SRACP—Index的数据结构,SRACP-Index的构建和 

算法,以及如何利用SRACP.Index的建立进行SSLCA的查询。最后通过实验证明该索引和SSLCA查询算法的有效性。 

关键词 

中图分类号

关键字检索 Schema访问控制规则 SRACP—Index SLCA SSLCA 

TP391.3 文献标识码A 

ACCESS CoNTRoL PoLICY AND INDEX OF XML KEYWORD SEARCH 

Li Xiaodong Huang Hao Zhu Hao rang Weidong 

(School ofComputer Science,Fudan University,Shanghai 200433,China) 

Abstract Keyword search of XML database is simple and easy to use,and the users do not have to understand the pattern of the 

database.Recently it iS widely concerned by the people.Current researches On this issue mainly focus on the algorithms of the keyword search 

and the organ ̄sat ̄on and sorting of the returned results,but the issue of secure access control of the keywords is ignored.Combining XML 

keyword search and XML secure access contro1.in this paper we put forward a new Role—based Access Control Policy which is built based On 

XML Schema(SRACP),and Oil the basis of SRACP,we built a secure index f0r XML keyword search(SRACP.Index)including the data 

structure of the SRACP—Index.the construction and algorithm of the SRACP.Index.and the way to calTy out SSLCA search using the SRACP. 

Index.At the end,we proved the validity of our index and SSLCA search algorithm through experiments. 

Keywords Keyword search Schema role・-based access control policy SRACP-・index SLCA SSLCA 

实验性治疗(tir1)还是普通治疗(raegular),护士看不到实验性 

0引 言 

XML技术的广泛应用使得XML关键字检索方法的研究也 

得到了广泛关注 J。其中经典的一个是在一颗XML树上寻 

找最小最低公共祖先(SLCA)的方法 。J,而所有的基于SLCA 

方法实现的XML关键字检索都没有考虑到关键字检索的安全 

问题。本文结合关键字检索和安全访问控制问题,提出一种新 

的在Schema上基于角色的访问控制规则(SRACP)。同时在此基 

治疗进行了哪些实验,但是却可以看到病人为自己进行的治疗 

所付出的费用(bil1)和需要得到的药物(medication)。 

(4)对于没有显示定义出的访问控制规则,子节点继承了 

父节点的可访问性。 

Hospital 

I’ 

dept 

on 

i\. 

础上建立基于角色的访问控制规则的索引(SRACP-Index),基于 

SRACP-Index,我们提出一种新的SSLCA检索算法可以在一遍计 

l 

pat ient 

l 

slarr 

算SLCA的过程中得出SSLCA结果。 

例1如图1所示的一个Hospital的XML Schema,基于这 

个XML Schema我们可以得到图2的XML文档实例。 

为了考虑关键字检索的安全性问题,我们用自然语言给 

nurse(护士)这个角色定义如下的访问控制规则: 

(1)当护士登录系统的时候,护士只能看到他们所护理的 

病人所在的部门。 

-.・・‘一 ・

。 

\. 

 ̄rdNo 

medication 

。I. 

name 

.I 

majo trial regular 

test 

/\/\ 

b l L 

图1 XML Schema 

(2)在(1)的基础上,护士可以看到所有病人的信息,但是 

却不能知道病人是否经过临床试验(clinicalTria1)。 

(3)护士不知道当前自己护理的病人所得到的治疗方法是 

收稿日期:2011—05—09。国家自然科学 ̄

统,Web信息处理和Web数据管理。 

(60773076);上海市 

重点项目(08JC1402500)。李晓东,硕士生,主研领域:数据库和知识系 

6 计算机应用与软件 2011血 

图2 XML文档树 

假设当前wardNo=‘n0902001’的某个nurse角色的用户登 

录系统,提交三个关键字“wardNo”,“Tom”,“tumor”,得到四个 

SLCA结果有,分别为:patient(0.0.0.2.0),patient(0.0.1.0), 

patient(0.0.1.1),nurse(0.0.2.0.0),而这四个结果中并不是每 

个都满足例1中对nurse用户所定义的安全规范,比如:SLCA节 

点patient(0.0.0.2.0)中子节点tral(O.0.0.2.0.0.0)和test(0.0. 

0.2.0.0.0.0)是敏感信息,是不可被访问的节点;SLCA节点pa— 

tient(O.0.1.0)中子节点regular(0.0.1.0.0.0)是不可访问的,而 

regular(0.0.1.0.0.0)节点的子节点又有可访问节点;SLCA节点 

patient(0.0.1.0)中wardNo节点的值为‘n0902002’≠ 

n0902001’。同样,其他的SLCA节点也存在同样的安全问题。 

同时,当系统存在多角色用户的时候,本文提出新的访问控 

制规则,可以为多角色用户建立索引,不同的角色可以利用索引 

进行关键字检索。 

本文的主要贡献如下: 

・提出了新的建立于Schema上基于角色的安全访问规则 

(SRACP); 

・给出SRACP-Index索引详细的数据结构; 

・提出基于SRACP的的索引建立方法; 

・提出新的查询SSLCA的方法; 

・举例说明如何使用索引进行SSLCA检索; 

・通过实验证明了新的的索引在检索SSLCA方面的有效 

性 

1相关研究工作 

这一节中我们主要从XML关键字检索和XML安全访问控 

制两个方面来讨论本篇文章的相关研究工作。 

(1)XML关键字检索对于XML数据库上的关键字搜索 

来说,大部分研究都是基于SLCA的方法。文献[2—6]是其中 

最有名的。文献[4]定义了一个MLCA(Meaningful LCA)的概 

念。而文献[6]则定义了一个互连关系的概念。实际上它们与 

SLCA的概念相似。这些研究主要集中于关键字检索的算法和 

返回结果的选择上,但是都没有考虑到的XML的安全性问题。 

(2)XML安全访问控制基于XML安全访问控制的研究 

有文献『11—18,20—22],这些文章中的安全访问控制模式都 

是定义一系列的安全说明 ” 来控制用户对XML数据的访 

问,同时还提到了安全视图的概念。文献[20—22]中提出了一 

种用三元组表示的更加细粒度的访问控制规则,这些访问控制 

规则是实施在XML树的节点和属性节点上。这些研究主要都 

是集中于XML数据进行安全访问控制的规则和方法上,而对 

XML数据的访问都是通过结构化查询语句来实现的。 

文献[1]在基于文献[1 1]的基础上提出了一种基于安全规 

范的访问控制手段,解决了关键字检索的安全问题。文献『1] 

的访问控制规则定义了这样一种语义:Schema中当前节点不可 

访问,则其所有子节点都不可访问。比如:图1所示的Schema. 

如果trial节点不可访问,则其所有子节点test和bill节点都不 

可访问,但其实仍然存在子节点中某些节点可以被访问的情况。 

因此,本文在文献[1]的基础上提出了一种新的访问控制规则 

(SRACP)、建立新的索引(SRACP—Index)和新的SSLCA查询算 

法,处理了原有文章问题的同时还考虑了以下两个问题:① 

Schema中当前节点不可访问,而其子节点可访问;②基于多角 

色的访问控制问题。 

2相关概念和定义 

定义1 Schema访问控制规则SRACP(Schema Access Con— 

trol Policy)。基于SRACP访问控制规则用一个四元组来表示: 

(Subject,Action,Object,Condition) 

其中Action∈(+R,一R,+r,一r,C)。Subject表示角色信息 

(但是并不局限于此,还可用来存储用户ID,用户组等信息)。 

Action表示用户的对节点的访问权限,比如:读,更新,删除,在 

本文中我们只考虑读的情况;+表示可以访问,一表示不可访 

问,R表示当前节点的可访问性传递到所有子节点中,r表示当 

前节点的可访问性不能传递到子节点中,c表示条件访问;+R 

表示当前节点和其所有子节点都可访问,一R表示当前节点和 

其所有子节点都不可访问,+/一r表示节点的可访问(或不可 

访问)但是不影响子节点的可访问性;Object表示节点的路径和 

条件信息,用XPath来表示;Condition表示当Action=C时,当前 

节点是条件访问节点,Conditon使用XPath来表示相关的条件 

信息,当Action=一r时,表示当前节点是不可访问节点且节点 

的不可访问性不能传递,则Condition用dummy节点来表示,说 

明当前节点的tag值要被dummy节点取代。 

定义2把例1中的安全规范进行转化,我们得到如下的 

基于SRACP的安全访问规则s(集合s中包含了多条访问规 

则,我们把条规则定义为S): 

sl:(nurse,C,/hospital/dept, /patient/wardNo=¥wardNo) 

s2:(nul ̄e,-r,/hospital/dept/clinicalTrial,dummy) 

s3:(nurse,-R,/hospital/dept/elinicalTrial/type) 

s4:(nurse,-R,/hospital/dept/eliniealTrial/duration) 

s5:(nurse,+R,/hospital/dept/cliniealTrial/patientlnf) 

s6:(nurse,+R,/hospital/dept/staffInfo) 

s7:(nurse,一r, /patient/treatment/trial,dummy1) 

s8:(nurse,一R, /patient/treatment/tiral/test) 

s9:(nurse,+R, /patient/teratment/tiral/bil1) 

sl0:(nurse,-r,¥/patient/treatment/regular,dummy2) 

sl 1:(nurse,+R, /patient/treatment/regular/bil1) 

s12:(nurse,+R, /patient/treatment/regular/medication) 

其他的相关概念和定义请参见文献[1]。 

第12期 李晓东等:XML关键字检索的访问控制规则和索引 7 

3基于SRACP的索引建立 

3.1基于SRACP的索引的元素结构 

传统的基于倒排索引的索引结构已经不能满足基于安访问 

控制的XML关键字检索技术,因此我们提出了新的基于 

SRACP的索引结构SRACP.Index,SRACP-Index的主题思想还是 

使用倒排索引,但是value部分存储的不再是deweyNo,而是经 

过扩展后的结构,如图3的SRACPNode类定义结构,这种结构 

不但能够存储计算SLCA所需要的相关信息,还能够记录角色 

信息和安全访问信息。 

Class SRACPNode{ Class SRACPInfo{ 

String deweyN ̄ String role; 

TreeNode tnode4 String action; 

List<SRACPInfo>slist;List<Object>list; 

} ) 

图3 SRACPNode结构 

我们为索引中的每个元素V维护信息结构如下: 

(1)节点的Dewey编码,我们用V.deweyNo表示。 

(2)当前deweyNo所对应的XML文档树节点,我们用 

tnode表示。 

(3)slist表示节点的访问控制信息,是一个SRACPI ̄o类 

型的列表,可以存储多角色的信息。我们用V.slist表示。 

(4)节点的角色信息,存储在SRACPI ̄o类型的节点中,我 

们用V.slist.role来表示当前节点对当前角色具有某些访问控 

制信息。 

(5)节点的可访问性,我们用V.slit.action表示。 

①如果V.slist.action=一R,则当前SRACPIMo节点的list 

{N},表示当前deweyNo的节点不可访问,并且其所有子节点 

都不可访问,比如图2中的test(0.0.0.2.0.0.0.0)节点。 

②如果V.slist.action=一r,则list={N,dummy},表示当 

前节点不可访问,但是其可能有可访问的子节点,当我们把结果 

展示给用户的时候,以当前deweyNo所表示的XML树节点的 

tag值要被dummy取代,来表示当前节点不可访问性,比如图2 

中patient(0.0.1.1)节点下的regular(0.0.1.1.0.0)是不可访问 

节点,而regulra(0.0.1.1.0.0)下有可访问的子节点,因此当 

SLCA节点patient(0.0.1.1)被返回给用户时reuglar(0.0.1.1. 

0.0)将用dummy节点来替代。 

③如果V.slist.action=一C,表示当前节点是条件访问节 

点,list中存放的是与这个条件访问节点条件相关的所有节点的 

deweyNo,比如:hospital下的dept节点(/hospital/dept)与其条件 

相关的节点是所有patient节点下的wardNo节点( /patient/ 

wardNo),因此,对于节点dept(0.0),其list={0.0.0.2.0.1, 

0.0.1.0.1,0.0.1.1.1,0.0.2.0.0.0}。 

3.2基于SI CP的索引构建 

我们使用SAX解析器来解析XML文档,使用基于树的深 

度优先的遍历算法来dewey编码的计算,以及SRACPNode结构 

中其他相关变量的记录。图4是算法的伪代码。 

算法流程如下: 

(1)每遇到一个XML文档树节点n,我们都为当前节点生 

AIgorithm 1 

Inp ̄:source XML rtee it’S root node SRACP S 

Output:SACP-Index 

,deweyNo=O: 

F unction recursiveTraverse(Node I1,Node p) 

/件艮据父节点来计算子节点的dewey编码 

a deweyNo=computeDeweyNoFromPNode(p); 

//使用当前节点n的dewey编码生成SACP节点 

SRACPNode V=cfeateSRACPN0d。f): 

V.deweyNo=n deweyNo; 

懒得当前用户的角色信息 

forevery roleinthe system 

I SRACPinfoV’=createSRACPInfo0; 

I v'.role=getCurrRole0; 

l //获取当前xml树节点的路径信息 

l Stringpath=getPahtOfCurrNode(n) 

I ,/通过当前xML书叶节点的路径信息获取对应的SACP规则 

I sRAcP S=getSRACPFromSet(path); 

l v'.action=s.Action; 

I jf(s.Action equalsWith”-R”) 

I I v’.¨st={’N.}; 

l if(s.Action equalsWiht”一r”) 

I I Vt"list={ Nt’vlCondition}; 

I if(sAcfion equalsWith”C”) 

l I add n's all condiitonally relativenodesto v’.1ist; 

I ,,把当前角色的安全的信息v伽入到SACPNode的节点V的slist中 

l V slist.dad(v); 

dCurrNodelnfoToSRACPInde: ̄n,v) 

For each children node w ofn 

I recursiveTraverse(wl,n); 

图4算法1 

把结果记录在节点V对应的deweyNo域。 

(2)获取用户的角色信息,同时对不同的角色都生成一个 

SRACPInfo节点v ,同时把角色信息记录在v .role域。 

(3)获取当前角色XML树节点n到XML树跟节点的路径 

信息,然后从为当前角色所定义的SRACP的安全访问规则集合 

s中寻找是否有跟当前节点路径所匹配的规则S。如果有,则查 

看s的Action域: 

①如果S.Action:一R,则记录v .action=一R,同时记录 

v .1ist={N}。表示当前deweyNo的节点不可访问,并且其所有 

子节点都不可访问。 

②如果S.Action=一r,则记录v .action=一r,同时记录v . 

1ist={N,S,Condition}。表示当前节点不可访问,但是其可能有 

可访问的子节点,当我们把结果展示给用户的时候,以当前 

deweyNo所表示的XML树节点的tag值要被S.Condition值取 

代,来表示当前节点不可访问性。 

③如果S.Action=C,表示当前节点是条件访问节点,记录 

v .action=C,同时记录v .1ist的相关值。记录规则如下: 

取S的Object和Condition域,这时Object和Condition域都 

是使用基于Schema的XPath来表示的,我们取两条XPath路径 

的最低公共祖先M(节点M的类型是Schema节点),则与当前 

XML树节点n条件相关的节点肯定在与Schema节点M相对于 

的XML树节点的子节点中。例:如图2所示,当SAX解析器解 

析到dept(O.0)节点时发现跟定义2中的第一条规则sl匹配, 

我们取s1.Action=/hospital/dept,s1.Condition= /patient/ 

dNo,根据图1所示的Schema,¥/patient/wardNo路径可以 

表示为/hospital/dept/elinicalTrial/patientlnfo/patient/wardNo 

和/hosp itla/dept/patientlnfo/patient/wardNo,而这两条Schema 

路径跟/hospital/dept路径的最低公共祖先是dept节点,也N/ 

成一个对应的SRACPNode节点V,同时计算节点n的dewey编 

码,

war

第12期 李晓东等:XML关键字检索的访问控制规则和索引 9 

以得到如下的dewey编码wardno=[0.0.0.2.0.1,0.0.1.0.1, 

率为1000.1500次的关键字进行实验,基于关键字个数的不同, 

0.0.1.1.1。0.0.2.0.0.0],tumor=[0.0.0.0.0,0.0.0.2.0.0. 

我们分别对Tl、T:、T3、T4、T5这五个数据集比较了文献[2]中的 

0.0.0.0.0.1.0.0.0.1.0,0.0.1.1.0.0.1.0,0.0.2.0.0.2.0,0. 

SCLA方法和SecureSCLA方法在执行效率上的差异,实验结果 

0.2.1.0.1 01,tom=[0.0.0。2.0.2.0,0.0.1.0.2.0,0.0.1.1. 

如图11、图12中所示。 

2.0.0.0.2.0.0.1.0,0.0.2.1.0.0.0]我们先对“wordNo”和 

图11中可以得出用SIL方法寻找SSLCA结果所用的时间会 

“tumor”两个关键字节点通过子过程getSSLCA()找出SLCA节 

随着数据集的增大而增加,因为随着数据集的增大SLCA结果增 

点,分别为patient(o.0.0.2.0),patient(0.0.1.0),patient(0.0. 

加了,这必然导致寻找SSLCA的结果的时间也相应的增加。我 

1.1),nurse(0.0.2.0.0),每得到的SLCA节点都是被安全规则 

们把寻找SSLCA时间与寻找SLCA时间相减来进行比较。 

处理过的,如图10的四个XML文档片段。 

图12中我们使用time(SLCA)、time(SecureSCLA)分别表示 

夕 

使用计算SLCA和计算SSLCA的时间,图中显示了当数据集比 

较小的时候,对于关键字个数的不同,两者相减的时间间隔不会 

随着关键字个数的不同而变化太大,而在数据集较大的时间这 

dummy2 

/ 

n0902002 

} 

Tom2 

I 

种变化就比较明显。 

bill 

/\ 

medication 

0n1.0 0 0 0 0 0l 0 0 01 

2000.

l 

00 lumol-mes

I 

liem ̄l 

/ \ 8 nI 

I I 

l tJ i} n2 n090200l TomYang 

/\ 

\ 

0 0w2a ̄ N

oo0 

name

o】0m0a o0r02 

。 ll0。~ r。 

0o2

/ I { 

2000O0 tumormedicine2 

涩潴 10 0船 0 c0liln0i2cal0 

(a)SCLA方法执行效率随关键字和数据集变化趋势 

图10安全规则处理后的XML片段 

再对这四个经过安全规则处理后的SLCA节点通过getSSL- 

CA()子过程,继续跟关键字“tom”计算SLCA,得到的结果跟以 

上四个相同。 

当对所有的关键字都计算完SLCA后,我们通过调用算法2 

的secureSLCA()过程,发现patient(0.0.0.2.0)节点不包含所 

有关键字,patient(0.0.1.0)节点不满足条件,因为patient(0.0. 

1.0)节点下的wardNo的值为‘n0902002’不等于‘n0902001’, 

而只有patient(0.0.1.I),nurse(0.0.2.0.0)这两个节点是满足 

所有安全规则的,因此系统返回经过安全规则处理的SLCA片 

段为最后的SSLCA结果。 

当不同角色的用户登录到系统中时,我们的索引也包含了 

(b)SecureSCLA方法执行效率随关键字和数据集变化趋势 

其他角色的安全访问信息。对于slist域为空的节点表示所有 

图1I SLCA和SecureSCLA方法执行效率 

角色的用户都能访问。通过遍历SRACP-Index可以为不同角色 

随关键字和数据集变化趋势比较 

不可访问和条件访问节点建立子过程getSSLCA()中的使用到 

的排序的B+树索引,然后用例2中同样方法,我们仍然可以查 

询到基于不同角色用户的SSLCA结果。 

5实验 

我们实验环境的配置是:CPU为Pentium Dual—Core E5300 

2.60GHz,内存为2G。基于新提出的SRACP规则和基于 

SRACP-Index的索引,我们用Java分别实现了XKSearch 中的 

IL方法和文献[1]中的SIL方法,对这两个方法主要在查询效 

图12 time(SLCA)一time(SecureSCLA)参数 

率上做了比较。 

随着关键字和数据集变化趋势比较 

(1)XML数据集使用IBM的XML文档生成工具 基 

于我们自己的Schema(如图2所示)生成五个不同的数据集T. 

6结语 

(2.4M)、T2(4.1M)、T3(6.1M)、T4(8.9M)、L(11.8M)。 

(2)查询效率实验中,我们随机选择在数据集中出现频 

本文在原有文章的基础上做了进一步的深入,提出了新的 

l0 计算机应用与软件 2011点 

基于Schema的访问控制规则(SRACP),以及在此基础上建立 

ments with XPath[C]//Proceedings ofthe9th ACM symposium on Ac. 

cess control models and technologies(SACMAT).Yorktown Heights, 

完整的基于安全访问控制规则的索引,并利用新的索引进行 

SSLCA检索。同时我们通过实验证明了索引的有效性。 

参考文献 

[1]李晓东,朱皓,杨卫东.安全访问控制的XML关键字检索[J].计 

算机科学与探索,2010,4(1):73—81. 

1 2 J Gun L,ShaD F,Botev C,et a1.XRANK:Ranked Keyword Search over 

XML Documents『C]//Proceedings of the 22th ACM SIGMOD Interna. 

tional Conference on Manage-ment of Data.San Diego,California, 

June 9—12,2003:16—27. 

[3]xu Y,Papakonstantinou Y.Efifcient Keyword Search for Smallest 

LCAs in XML Databases[C]//Proceedings of the 24th ACM SIGMOD 

Interna-tional Conference on Management of Data.Baltimore,Mary- 

land,USA,June 14—16,2005:527—538. 

[4]Li Y,Yu C,Jagadish H V.Schema—Free XQuery[C]//Proceedings of 

the 30th VLDB Conference.Toronto,Canada,2004:72—83. 

1 5]Cohen S,Mamou J,Kanza Y,et a1.XSEarch:A Semantic Search En- 

ne for XML[C]//Proceedings of the 29th VLDB Conference.Ber- 

lin,Germany,2003. 

[6]Sun C,Chan C,Goenka A K.Muhiway SLCA—based Keyword Search 

in XML Data[C]//Proceedings of the 16th international conference on 

Worldwide Web(www).Banff,Alberta,Canada,2007:1043— 

1052. 

[7]Hristidis V,Koudas N,Papakonstantinou Y,et a1.Keyword Proximity 

Search in XML Trees[C]//IEEE Transactions on Know.1edge and Da 

ta Engineering.2006:525—539. 

[8]Li G,Feng J,Wang J,et a1.Effective Keyword Search for Valuable 

LCAs over XML Documents[C]//Proceedings of the 16th ACM conf- 

erence on Conference on information and knowledgee management.Lis- 

bon,Portugal,2007:31—40. 

[9]Liu Z,Chen Y.Identifying Meaningful Return Infomration for XML 

Keyword Search[C]//Proceedings of the 26th ACM SIGMOD intema- 

tional conference on Management of data.Beijing,China,2007:329— 

340. 

[1 0]Liu Z,Yi Chen.Reasoning and Identifying Relevant Matches for XML 

Keyword Search[C]//Proceedings of the 30th VLDB Conference. 

Auckland,New Zealand,2008:921—932. 

[1 1]Fan W,Chan C—Y,Garofalakis M.Secure XML querying with security 

views[C]//Proceed ings of the 23th ACM SIGMOD international con- 

ference on Management of data.Stockholm,Sweden,2004:77—84. 

[12]Mohan S,Sengupta A,Wu Y.Access contorl for XML—a dynamic query 

rewriting approach[C]//Proceedings of the 31 st VLDB Conference. 

Trondheim,Norway,2005:1—12. 

[1 3]Gabirel Kuper,Fabio Massacci,Nataliyka Rassadko.Generlaized XML 

security views[C]//Proceedings ofthe 10th ACM symposium on Access 

control models and technologies(SAC MAT),Stockholm,Sweden, 

2005:77—84. 

[14]Mohan S,Klinginsmith J,Sengnpta A,et a1.Access control for XML 

with enhanced security speciifcations[C]//Proceedings of the 22nd 

Inter—national Conference on Data Engineering(ICDE).Atlanta, 

Georgia,USA,2006:171. 

『1 5]Bogdan Cantis.Distirbuted Access Control:A Privacy conscious Ap— 

proach[C]//Proceedings of the 12th ACM symposium on Access con— 

torl models and technologies(SACMAT),Sophia Antipolis,France 

2007:61—70. 

[1 6]Fundulaki I,Marx M.Specifying access control policies ofr XML docu’ 

New York,USA,2004:61—69. 

[17] 

Sriram Mohan,Yuqing Wu.IPAC-An Interactive Approach to Access 

Contorl for Semi-Structured Data[C]//Proceedings of the 32nd inter 

national conference on Very large data bases(VLDB).Seoul,Korea 

2006:1147—1150. 

[18] 

Andreas Ekelhart,Stefan Fenz,Gernot Goluch,et a1.XML security.A 

compara-tive literature review[J].Journla of Systems and Software, 

2008:1715—1724. 

[19] Angel Luis Diaz,Douglas Lovel1.XML Generator[OL].1999—9.ht— 

tp://www.alphaworks.ibm.com/tech/xmlgenerator. 

[2O] 

Naizhen Qi,Michiharn Kudo.Access-Condition-Table-Driven Access 

Control for XML Databases.ESORICS[c]//LNCS 3193,2004:17— 

32. 

[21] 

Naizhen Qi,Michiharu Kudo.Tree-based Access Control Mechanism 

for XML Databases[C]//DEWS,2005. 

[22] 

Makoto Mutata,Akihiko Tozawa,Michiharu Kudo,et a1.XML Access 

Contorl Using Static Analysis[J].ACM Transactions on Information 

and System Security,2006,9(3):292—324. 

(上接第4页) 

过沉浸式显示系统展示游戏画面。实验结果表明,沉浸式客户 

端能实时展示沉浸式游戏画面,且相对Slave节点数具有良好的 

可伸缩性。未来我们将增加框架对三维交互设备(如三维鼠 

标、数据手套等)的支持,提升玩家的沉浸式体验。 

参考文献 

[1]Bourke P D.Immersive gaming:the challenge[OL].[2011—03— 

21].http://paulbourke.net/papers/games2009/. 

[2]Bourke P D.iDome:immersive gaming with the Unity game engine 

[C]//Proceedings of the Computer Games&Allied Technology, 

2009. 

[3]Bourke P D,Felinto D Q.Blender and immemive gaming in a hemi— 

spherical dome[C]//Proceedings of the Computer Games&Allied 

Technology,2010. 

[4]Chen H,Chen Y,Finkelstein A,et a1.Data distirbution strategies for 

high resolution displays[J].IEEE/ACM International Symposium on 

Cluster Computing and the Grid,2001,25(5):811—818. 

[5]Cruz—Neira C,Sandin D J,DeFanti T A.Surround screen projeetion— 

based virtual reality:the design and implementation of the CAVE 

[C]//ACM SIGGRAPH 93 Proceedings,1993:135—142. 

[6]Brown M,Majumder A,Yang R.Camera-based calibration techniques 

for seamless multiprojector displays[J].IEEE Transactions on Visual- 

ization and Computer Graphics,2005,1 1(2):193—206. 

[7]Jiang Z,Man Y,Qin B,et a1.A high resolution video display system by 

semalessly tiling multiple projectors[c]//Proc.1EEE Intenrational 

Conference on Multimedia and Expo,2007:2070—2073. 

[8]秦博.面向复杂显示表面的多投影校正技术研究[D].上海:复旦 

大学软件学院,2010. 

f 9]Glinka F,Ploss A,MullerIden J,et a1.RTF:a real time framework for 

developing scalable muhiplayer online games[C]//Proc.NetGames 

2007,2007:81—86. 

[10]Pantel L,Wolf L C.On the suitability of dead reckoning schemes for 

games『C]//Proc.NetGames 2002,2002:79—84. 

[11]Unity Game Engine[OL].[2011-03-21].http://www.unity3d.coin/. 

2024年3月19日发(作者:孛冬雪)

第28卷第12期 

2011年l2月 

计算机应用与软件 

Computer Applications and Software 

V01.28 No.12 

Dec.2011 

XML关键字检索的访问控制规则和索引 

李晓东 黄 浩 朱 皓杨卫东 

(复旦大学计算机科学技术学院上海200433) 

摘要XML数据库的关键字检索简单易用,并且用户不必了解数据库的模式,近期受到人们的广泛关注。当前的相关研究主 

要集中于关键字检索的算法以及返回结果的组织和排序,然而却忽视了关键字的安全访问控制问题。结合XML关键字搜索和 

XML安全访问控制,提出一种新的建立于XML Schema上基于角色的访问控制规则SRACP(Schema Role Access Control Policy),并在 

SRACP规则的基础上建立安全的XML关键字检索的索引(SRACP—Index),包括:SRACP—Index的数据结构,SRACP-Index的构建和 

算法,以及如何利用SRACP.Index的建立进行SSLCA的查询。最后通过实验证明该索引和SSLCA查询算法的有效性。 

关键词 

中图分类号

关键字检索 Schema访问控制规则 SRACP—Index SLCA SSLCA 

TP391.3 文献标识码A 

ACCESS CoNTRoL PoLICY AND INDEX OF XML KEYWORD SEARCH 

Li Xiaodong Huang Hao Zhu Hao rang Weidong 

(School ofComputer Science,Fudan University,Shanghai 200433,China) 

Abstract Keyword search of XML database is simple and easy to use,and the users do not have to understand the pattern of the 

database.Recently it iS widely concerned by the people.Current researches On this issue mainly focus on the algorithms of the keyword search 

and the organ ̄sat ̄on and sorting of the returned results,but the issue of secure access control of the keywords is ignored.Combining XML 

keyword search and XML secure access contro1.in this paper we put forward a new Role—based Access Control Policy which is built based On 

XML Schema(SRACP),and Oil the basis of SRACP,we built a secure index f0r XML keyword search(SRACP.Index)including the data 

structure of the SRACP—Index.the construction and algorithm of the SRACP.Index.and the way to calTy out SSLCA search using the SRACP. 

Index.At the end,we proved the validity of our index and SSLCA search algorithm through experiments. 

Keywords Keyword search Schema role・-based access control policy SRACP-・index SLCA SSLCA 

实验性治疗(tir1)还是普通治疗(raegular),护士看不到实验性 

0引 言 

XML技术的广泛应用使得XML关键字检索方法的研究也 

得到了广泛关注 J。其中经典的一个是在一颗XML树上寻 

找最小最低公共祖先(SLCA)的方法 。J,而所有的基于SLCA 

方法实现的XML关键字检索都没有考虑到关键字检索的安全 

问题。本文结合关键字检索和安全访问控制问题,提出一种新 

的在Schema上基于角色的访问控制规则(SRACP)。同时在此基 

治疗进行了哪些实验,但是却可以看到病人为自己进行的治疗 

所付出的费用(bil1)和需要得到的药物(medication)。 

(4)对于没有显示定义出的访问控制规则,子节点继承了 

父节点的可访问性。 

Hospital 

I’ 

dept 

on 

i\. 

础上建立基于角色的访问控制规则的索引(SRACP-Index),基于 

SRACP-Index,我们提出一种新的SSLCA检索算法可以在一遍计 

l 

pat ient 

l 

slarr 

算SLCA的过程中得出SSLCA结果。 

例1如图1所示的一个Hospital的XML Schema,基于这 

个XML Schema我们可以得到图2的XML文档实例。 

为了考虑关键字检索的安全性问题,我们用自然语言给 

nurse(护士)这个角色定义如下的访问控制规则: 

(1)当护士登录系统的时候,护士只能看到他们所护理的 

病人所在的部门。 

-.・・‘一 ・

。 

\. 

 ̄rdNo 

medication 

。I. 

name 

.I 

majo trial regular 

test 

/\/\ 

b l L 

图1 XML Schema 

(2)在(1)的基础上,护士可以看到所有病人的信息,但是 

却不能知道病人是否经过临床试验(clinicalTria1)。 

(3)护士不知道当前自己护理的病人所得到的治疗方法是 

收稿日期:2011—05—09。国家自然科学 ̄

统,Web信息处理和Web数据管理。 

(60773076);上海市 

重点项目(08JC1402500)。李晓东,硕士生,主研领域:数据库和知识系 

6 计算机应用与软件 2011血 

图2 XML文档树 

假设当前wardNo=‘n0902001’的某个nurse角色的用户登 

录系统,提交三个关键字“wardNo”,“Tom”,“tumor”,得到四个 

SLCA结果有,分别为:patient(0.0.0.2.0),patient(0.0.1.0), 

patient(0.0.1.1),nurse(0.0.2.0.0),而这四个结果中并不是每 

个都满足例1中对nurse用户所定义的安全规范,比如:SLCA节 

点patient(0.0.0.2.0)中子节点tral(O.0.0.2.0.0.0)和test(0.0. 

0.2.0.0.0.0)是敏感信息,是不可被访问的节点;SLCA节点pa— 

tient(O.0.1.0)中子节点regular(0.0.1.0.0.0)是不可访问的,而 

regular(0.0.1.0.0.0)节点的子节点又有可访问节点;SLCA节点 

patient(0.0.1.0)中wardNo节点的值为‘n0902002’≠ 

n0902001’。同样,其他的SLCA节点也存在同样的安全问题。 

同时,当系统存在多角色用户的时候,本文提出新的访问控 

制规则,可以为多角色用户建立索引,不同的角色可以利用索引 

进行关键字检索。 

本文的主要贡献如下: 

・提出了新的建立于Schema上基于角色的安全访问规则 

(SRACP); 

・给出SRACP-Index索引详细的数据结构; 

・提出基于SRACP的的索引建立方法; 

・提出新的查询SSLCA的方法; 

・举例说明如何使用索引进行SSLCA检索; 

・通过实验证明了新的的索引在检索SSLCA方面的有效 

性 

1相关研究工作 

这一节中我们主要从XML关键字检索和XML安全访问控 

制两个方面来讨论本篇文章的相关研究工作。 

(1)XML关键字检索对于XML数据库上的关键字搜索 

来说,大部分研究都是基于SLCA的方法。文献[2—6]是其中 

最有名的。文献[4]定义了一个MLCA(Meaningful LCA)的概 

念。而文献[6]则定义了一个互连关系的概念。实际上它们与 

SLCA的概念相似。这些研究主要集中于关键字检索的算法和 

返回结果的选择上,但是都没有考虑到的XML的安全性问题。 

(2)XML安全访问控制基于XML安全访问控制的研究 

有文献『11—18,20—22],这些文章中的安全访问控制模式都 

是定义一系列的安全说明 ” 来控制用户对XML数据的访 

问,同时还提到了安全视图的概念。文献[20—22]中提出了一 

种用三元组表示的更加细粒度的访问控制规则,这些访问控制 

规则是实施在XML树的节点和属性节点上。这些研究主要都 

是集中于XML数据进行安全访问控制的规则和方法上,而对 

XML数据的访问都是通过结构化查询语句来实现的。 

文献[1]在基于文献[1 1]的基础上提出了一种基于安全规 

范的访问控制手段,解决了关键字检索的安全问题。文献『1] 

的访问控制规则定义了这样一种语义:Schema中当前节点不可 

访问,则其所有子节点都不可访问。比如:图1所示的Schema. 

如果trial节点不可访问,则其所有子节点test和bill节点都不 

可访问,但其实仍然存在子节点中某些节点可以被访问的情况。 

因此,本文在文献[1]的基础上提出了一种新的访问控制规则 

(SRACP)、建立新的索引(SRACP—Index)和新的SSLCA查询算 

法,处理了原有文章问题的同时还考虑了以下两个问题:① 

Schema中当前节点不可访问,而其子节点可访问;②基于多角 

色的访问控制问题。 

2相关概念和定义 

定义1 Schema访问控制规则SRACP(Schema Access Con— 

trol Policy)。基于SRACP访问控制规则用一个四元组来表示: 

(Subject,Action,Object,Condition) 

其中Action∈(+R,一R,+r,一r,C)。Subject表示角色信息 

(但是并不局限于此,还可用来存储用户ID,用户组等信息)。 

Action表示用户的对节点的访问权限,比如:读,更新,删除,在 

本文中我们只考虑读的情况;+表示可以访问,一表示不可访 

问,R表示当前节点的可访问性传递到所有子节点中,r表示当 

前节点的可访问性不能传递到子节点中,c表示条件访问;+R 

表示当前节点和其所有子节点都可访问,一R表示当前节点和 

其所有子节点都不可访问,+/一r表示节点的可访问(或不可 

访问)但是不影响子节点的可访问性;Object表示节点的路径和 

条件信息,用XPath来表示;Condition表示当Action=C时,当前 

节点是条件访问节点,Conditon使用XPath来表示相关的条件 

信息,当Action=一r时,表示当前节点是不可访问节点且节点 

的不可访问性不能传递,则Condition用dummy节点来表示,说 

明当前节点的tag值要被dummy节点取代。 

定义2把例1中的安全规范进行转化,我们得到如下的 

基于SRACP的安全访问规则s(集合s中包含了多条访问规 

则,我们把条规则定义为S): 

sl:(nurse,C,/hospital/dept, /patient/wardNo=¥wardNo) 

s2:(nul ̄e,-r,/hospital/dept/clinicalTrial,dummy) 

s3:(nurse,-R,/hospital/dept/elinicalTrial/type) 

s4:(nurse,-R,/hospital/dept/eliniealTrial/duration) 

s5:(nurse,+R,/hospital/dept/cliniealTrial/patientlnf) 

s6:(nurse,+R,/hospital/dept/staffInfo) 

s7:(nurse,一r, /patient/treatment/trial,dummy1) 

s8:(nurse,一R, /patient/treatment/tiral/test) 

s9:(nurse,+R, /patient/teratment/tiral/bil1) 

sl0:(nurse,-r,¥/patient/treatment/regular,dummy2) 

sl 1:(nurse,+R, /patient/treatment/regular/bil1) 

s12:(nurse,+R, /patient/treatment/regular/medication) 

其他的相关概念和定义请参见文献[1]。 

第12期 李晓东等:XML关键字检索的访问控制规则和索引 7 

3基于SRACP的索引建立 

3.1基于SRACP的索引的元素结构 

传统的基于倒排索引的索引结构已经不能满足基于安访问 

控制的XML关键字检索技术,因此我们提出了新的基于 

SRACP的索引结构SRACP.Index,SRACP-Index的主题思想还是 

使用倒排索引,但是value部分存储的不再是deweyNo,而是经 

过扩展后的结构,如图3的SRACPNode类定义结构,这种结构 

不但能够存储计算SLCA所需要的相关信息,还能够记录角色 

信息和安全访问信息。 

Class SRACPNode{ Class SRACPInfo{ 

String deweyN ̄ String role; 

TreeNode tnode4 String action; 

List<SRACPInfo>slist;List<Object>list; 

} ) 

图3 SRACPNode结构 

我们为索引中的每个元素V维护信息结构如下: 

(1)节点的Dewey编码,我们用V.deweyNo表示。 

(2)当前deweyNo所对应的XML文档树节点,我们用 

tnode表示。 

(3)slist表示节点的访问控制信息,是一个SRACPI ̄o类 

型的列表,可以存储多角色的信息。我们用V.slist表示。 

(4)节点的角色信息,存储在SRACPI ̄o类型的节点中,我 

们用V.slist.role来表示当前节点对当前角色具有某些访问控 

制信息。 

(5)节点的可访问性,我们用V.slit.action表示。 

①如果V.slist.action=一R,则当前SRACPIMo节点的list 

{N},表示当前deweyNo的节点不可访问,并且其所有子节点 

都不可访问,比如图2中的test(0.0.0.2.0.0.0.0)节点。 

②如果V.slist.action=一r,则list={N,dummy},表示当 

前节点不可访问,但是其可能有可访问的子节点,当我们把结果 

展示给用户的时候,以当前deweyNo所表示的XML树节点的 

tag值要被dummy取代,来表示当前节点不可访问性,比如图2 

中patient(0.0.1.1)节点下的regular(0.0.1.1.0.0)是不可访问 

节点,而regulra(0.0.1.1.0.0)下有可访问的子节点,因此当 

SLCA节点patient(0.0.1.1)被返回给用户时reuglar(0.0.1.1. 

0.0)将用dummy节点来替代。 

③如果V.slist.action=一C,表示当前节点是条件访问节 

点,list中存放的是与这个条件访问节点条件相关的所有节点的 

deweyNo,比如:hospital下的dept节点(/hospital/dept)与其条件 

相关的节点是所有patient节点下的wardNo节点( /patient/ 

wardNo),因此,对于节点dept(0.0),其list={0.0.0.2.0.1, 

0.0.1.0.1,0.0.1.1.1,0.0.2.0.0.0}。 

3.2基于SI CP的索引构建 

我们使用SAX解析器来解析XML文档,使用基于树的深 

度优先的遍历算法来dewey编码的计算,以及SRACPNode结构 

中其他相关变量的记录。图4是算法的伪代码。 

算法流程如下: 

(1)每遇到一个XML文档树节点n,我们都为当前节点生 

AIgorithm 1 

Inp ̄:source XML rtee it’S root node SRACP S 

Output:SACP-Index 

,deweyNo=O: 

F unction recursiveTraverse(Node I1,Node p) 

/件艮据父节点来计算子节点的dewey编码 

a deweyNo=computeDeweyNoFromPNode(p); 

//使用当前节点n的dewey编码生成SACP节点 

SRACPNode V=cfeateSRACPN0d。f): 

V.deweyNo=n deweyNo; 

懒得当前用户的角色信息 

forevery roleinthe system 

I SRACPinfoV’=createSRACPInfo0; 

I v'.role=getCurrRole0; 

l //获取当前xml树节点的路径信息 

l Stringpath=getPahtOfCurrNode(n) 

I ,/通过当前xML书叶节点的路径信息获取对应的SACP规则 

I sRAcP S=getSRACPFromSet(path); 

l v'.action=s.Action; 

I jf(s.Action equalsWith”-R”) 

I I v’.¨st={’N.}; 

l if(s.Action equalsWiht”一r”) 

I I Vt"list={ Nt’vlCondition}; 

I if(sAcfion equalsWith”C”) 

l I add n's all condiitonally relativenodesto v’.1ist; 

I ,,把当前角色的安全的信息v伽入到SACPNode的节点V的slist中 

l V slist.dad(v); 

dCurrNodelnfoToSRACPInde: ̄n,v) 

For each children node w ofn 

I recursiveTraverse(wl,n); 

图4算法1 

把结果记录在节点V对应的deweyNo域。 

(2)获取用户的角色信息,同时对不同的角色都生成一个 

SRACPInfo节点v ,同时把角色信息记录在v .role域。 

(3)获取当前角色XML树节点n到XML树跟节点的路径 

信息,然后从为当前角色所定义的SRACP的安全访问规则集合 

s中寻找是否有跟当前节点路径所匹配的规则S。如果有,则查 

看s的Action域: 

①如果S.Action:一R,则记录v .action=一R,同时记录 

v .1ist={N}。表示当前deweyNo的节点不可访问,并且其所有 

子节点都不可访问。 

②如果S.Action=一r,则记录v .action=一r,同时记录v . 

1ist={N,S,Condition}。表示当前节点不可访问,但是其可能有 

可访问的子节点,当我们把结果展示给用户的时候,以当前 

deweyNo所表示的XML树节点的tag值要被S.Condition值取 

代,来表示当前节点不可访问性。 

③如果S.Action=C,表示当前节点是条件访问节点,记录 

v .action=C,同时记录v .1ist的相关值。记录规则如下: 

取S的Object和Condition域,这时Object和Condition域都 

是使用基于Schema的XPath来表示的,我们取两条XPath路径 

的最低公共祖先M(节点M的类型是Schema节点),则与当前 

XML树节点n条件相关的节点肯定在与Schema节点M相对于 

的XML树节点的子节点中。例:如图2所示,当SAX解析器解 

析到dept(O.0)节点时发现跟定义2中的第一条规则sl匹配, 

我们取s1.Action=/hospital/dept,s1.Condition= /patient/ 

dNo,根据图1所示的Schema,¥/patient/wardNo路径可以 

表示为/hospital/dept/elinicalTrial/patientlnfo/patient/wardNo 

和/hosp itla/dept/patientlnfo/patient/wardNo,而这两条Schema 

路径跟/hospital/dept路径的最低公共祖先是dept节点,也N/ 

成一个对应的SRACPNode节点V,同时计算节点n的dewey编 

码,

war

第12期 李晓东等:XML关键字检索的访问控制规则和索引 9 

以得到如下的dewey编码wardno=[0.0.0.2.0.1,0.0.1.0.1, 

率为1000.1500次的关键字进行实验,基于关键字个数的不同, 

0.0.1.1.1。0.0.2.0.0.0],tumor=[0.0.0.0.0,0.0.0.2.0.0. 

我们分别对Tl、T:、T3、T4、T5这五个数据集比较了文献[2]中的 

0.0.0.0.0.1.0.0.0.1.0,0.0.1.1.0.0.1.0,0.0.2.0.0.2.0,0. 

SCLA方法和SecureSCLA方法在执行效率上的差异,实验结果 

0.2.1.0.1 01,tom=[0.0.0。2.0.2.0,0.0.1.0.2.0,0.0.1.1. 

如图11、图12中所示。 

2.0.0.0.2.0.0.1.0,0.0.2.1.0.0.0]我们先对“wordNo”和 

图11中可以得出用SIL方法寻找SSLCA结果所用的时间会 

“tumor”两个关键字节点通过子过程getSSLCA()找出SLCA节 

随着数据集的增大而增加,因为随着数据集的增大SLCA结果增 

点,分别为patient(o.0.0.2.0),patient(0.0.1.0),patient(0.0. 

加了,这必然导致寻找SSLCA的结果的时间也相应的增加。我 

1.1),nurse(0.0.2.0.0),每得到的SLCA节点都是被安全规则 

们把寻找SSLCA时间与寻找SLCA时间相减来进行比较。 

处理过的,如图10的四个XML文档片段。 

图12中我们使用time(SLCA)、time(SecureSCLA)分别表示 

夕 

使用计算SLCA和计算SSLCA的时间,图中显示了当数据集比 

较小的时候,对于关键字个数的不同,两者相减的时间间隔不会 

随着关键字个数的不同而变化太大,而在数据集较大的时间这 

dummy2 

/ 

n0902002 

} 

Tom2 

I 

种变化就比较明显。 

bill 

/\ 

medication 

0n1.0 0 0 0 0 0l 0 0 01 

2000.

l 

00 lumol-mes

I 

liem ̄l 

/ \ 8 nI 

I I 

l tJ i} n2 n090200l TomYang 

/\ 

\ 

0 0w2a ̄ N

oo0 

name

o】0m0a o0r02 

。 ll0。~ r。 

0o2

/ I { 

2000O0 tumormedicine2 

涩潴 10 0船 0 c0liln0i2cal0 

(a)SCLA方法执行效率随关键字和数据集变化趋势 

图10安全规则处理后的XML片段 

再对这四个经过安全规则处理后的SLCA节点通过getSSL- 

CA()子过程,继续跟关键字“tom”计算SLCA,得到的结果跟以 

上四个相同。 

当对所有的关键字都计算完SLCA后,我们通过调用算法2 

的secureSLCA()过程,发现patient(0.0.0.2.0)节点不包含所 

有关键字,patient(0.0.1.0)节点不满足条件,因为patient(0.0. 

1.0)节点下的wardNo的值为‘n0902002’不等于‘n0902001’, 

而只有patient(0.0.1.I),nurse(0.0.2.0.0)这两个节点是满足 

所有安全规则的,因此系统返回经过安全规则处理的SLCA片 

段为最后的SSLCA结果。 

当不同角色的用户登录到系统中时,我们的索引也包含了 

(b)SecureSCLA方法执行效率随关键字和数据集变化趋势 

其他角色的安全访问信息。对于slist域为空的节点表示所有 

图1I SLCA和SecureSCLA方法执行效率 

角色的用户都能访问。通过遍历SRACP-Index可以为不同角色 

随关键字和数据集变化趋势比较 

不可访问和条件访问节点建立子过程getSSLCA()中的使用到 

的排序的B+树索引,然后用例2中同样方法,我们仍然可以查 

询到基于不同角色用户的SSLCA结果。 

5实验 

我们实验环境的配置是:CPU为Pentium Dual—Core E5300 

2.60GHz,内存为2G。基于新提出的SRACP规则和基于 

SRACP-Index的索引,我们用Java分别实现了XKSearch 中的 

IL方法和文献[1]中的SIL方法,对这两个方法主要在查询效 

图12 time(SLCA)一time(SecureSCLA)参数 

率上做了比较。 

随着关键字和数据集变化趋势比较 

(1)XML数据集使用IBM的XML文档生成工具 基 

于我们自己的Schema(如图2所示)生成五个不同的数据集T. 

6结语 

(2.4M)、T2(4.1M)、T3(6.1M)、T4(8.9M)、L(11.8M)。 

(2)查询效率实验中,我们随机选择在数据集中出现频 

本文在原有文章的基础上做了进一步的深入,提出了新的 

l0 计算机应用与软件 2011点 

基于Schema的访问控制规则(SRACP),以及在此基础上建立 

ments with XPath[C]//Proceedings ofthe9th ACM symposium on Ac. 

cess control models and technologies(SACMAT).Yorktown Heights, 

完整的基于安全访问控制规则的索引,并利用新的索引进行 

SSLCA检索。同时我们通过实验证明了索引的有效性。 

参考文献 

[1]李晓东,朱皓,杨卫东.安全访问控制的XML关键字检索[J].计 

算机科学与探索,2010,4(1):73—81. 

1 2 J Gun L,ShaD F,Botev C,et a1.XRANK:Ranked Keyword Search over 

XML Documents『C]//Proceedings of the 22th ACM SIGMOD Interna. 

tional Conference on Manage-ment of Data.San Diego,California, 

June 9—12,2003:16—27. 

[3]xu Y,Papakonstantinou Y.Efifcient Keyword Search for Smallest 

LCAs in XML Databases[C]//Proceedings of the 24th ACM SIGMOD 

Interna-tional Conference on Management of Data.Baltimore,Mary- 

land,USA,June 14—16,2005:527—538. 

[4]Li Y,Yu C,Jagadish H V.Schema—Free XQuery[C]//Proceedings of 

the 30th VLDB Conference.Toronto,Canada,2004:72—83. 

1 5]Cohen S,Mamou J,Kanza Y,et a1.XSEarch:A Semantic Search En- 

ne for XML[C]//Proceedings of the 29th VLDB Conference.Ber- 

lin,Germany,2003. 

[6]Sun C,Chan C,Goenka A K.Muhiway SLCA—based Keyword Search 

in XML Data[C]//Proceedings of the 16th international conference on 

Worldwide Web(www).Banff,Alberta,Canada,2007:1043— 

1052. 

[7]Hristidis V,Koudas N,Papakonstantinou Y,et a1.Keyword Proximity 

Search in XML Trees[C]//IEEE Transactions on Know.1edge and Da 

ta Engineering.2006:525—539. 

[8]Li G,Feng J,Wang J,et a1.Effective Keyword Search for Valuable 

LCAs over XML Documents[C]//Proceedings of the 16th ACM conf- 

erence on Conference on information and knowledgee management.Lis- 

bon,Portugal,2007:31—40. 

[9]Liu Z,Chen Y.Identifying Meaningful Return Infomration for XML 

Keyword Search[C]//Proceedings of the 26th ACM SIGMOD intema- 

tional conference on Management of data.Beijing,China,2007:329— 

340. 

[1 0]Liu Z,Yi Chen.Reasoning and Identifying Relevant Matches for XML 

Keyword Search[C]//Proceedings of the 30th VLDB Conference. 

Auckland,New Zealand,2008:921—932. 

[1 1]Fan W,Chan C—Y,Garofalakis M.Secure XML querying with security 

views[C]//Proceed ings of the 23th ACM SIGMOD international con- 

ference on Management of data.Stockholm,Sweden,2004:77—84. 

[12]Mohan S,Sengupta A,Wu Y.Access contorl for XML—a dynamic query 

rewriting approach[C]//Proceedings of the 31 st VLDB Conference. 

Trondheim,Norway,2005:1—12. 

[1 3]Gabirel Kuper,Fabio Massacci,Nataliyka Rassadko.Generlaized XML 

security views[C]//Proceedings ofthe 10th ACM symposium on Access 

control models and technologies(SAC MAT),Stockholm,Sweden, 

2005:77—84. 

[14]Mohan S,Klinginsmith J,Sengnpta A,et a1.Access control for XML 

with enhanced security speciifcations[C]//Proceedings of the 22nd 

Inter—national Conference on Data Engineering(ICDE).Atlanta, 

Georgia,USA,2006:171. 

『1 5]Bogdan Cantis.Distirbuted Access Control:A Privacy conscious Ap— 

proach[C]//Proceedings of the 12th ACM symposium on Access con— 

torl models and technologies(SACMAT),Sophia Antipolis,France 

2007:61—70. 

[1 6]Fundulaki I,Marx M.Specifying access control policies ofr XML docu’ 

New York,USA,2004:61—69. 

[17] 

Sriram Mohan,Yuqing Wu.IPAC-An Interactive Approach to Access 

Contorl for Semi-Structured Data[C]//Proceedings of the 32nd inter 

national conference on Very large data bases(VLDB).Seoul,Korea 

2006:1147—1150. 

[18] 

Andreas Ekelhart,Stefan Fenz,Gernot Goluch,et a1.XML security.A 

compara-tive literature review[J].Journla of Systems and Software, 

2008:1715—1724. 

[19] Angel Luis Diaz,Douglas Lovel1.XML Generator[OL].1999—9.ht— 

tp://www.alphaworks.ibm.com/tech/xmlgenerator. 

[2O] 

Naizhen Qi,Michiharn Kudo.Access-Condition-Table-Driven Access 

Control for XML Databases.ESORICS[c]//LNCS 3193,2004:17— 

32. 

[21] 

Naizhen Qi,Michiharu Kudo.Tree-based Access Control Mechanism 

for XML Databases[C]//DEWS,2005. 

[22] 

Makoto Mutata,Akihiko Tozawa,Michiharu Kudo,et a1.XML Access 

Contorl Using Static Analysis[J].ACM Transactions on Information 

and System Security,2006,9(3):292—324. 

(上接第4页) 

过沉浸式显示系统展示游戏画面。实验结果表明,沉浸式客户 

端能实时展示沉浸式游戏画面,且相对Slave节点数具有良好的 

可伸缩性。未来我们将增加框架对三维交互设备(如三维鼠 

标、数据手套等)的支持,提升玩家的沉浸式体验。 

参考文献 

[1]Bourke P D.Immersive gaming:the challenge[OL].[2011—03— 

21].http://paulbourke.net/papers/games2009/. 

[2]Bourke P D.iDome:immersive gaming with the Unity game engine 

[C]//Proceedings of the Computer Games&Allied Technology, 

2009. 

[3]Bourke P D,Felinto D Q.Blender and immemive gaming in a hemi— 

spherical dome[C]//Proceedings of the Computer Games&Allied 

Technology,2010. 

[4]Chen H,Chen Y,Finkelstein A,et a1.Data distirbution strategies for 

high resolution displays[J].IEEE/ACM International Symposium on 

Cluster Computing and the Grid,2001,25(5):811—818. 

[5]Cruz—Neira C,Sandin D J,DeFanti T A.Surround screen projeetion— 

based virtual reality:the design and implementation of the CAVE 

[C]//ACM SIGGRAPH 93 Proceedings,1993:135—142. 

[6]Brown M,Majumder A,Yang R.Camera-based calibration techniques 

for seamless multiprojector displays[J].IEEE Transactions on Visual- 

ization and Computer Graphics,2005,1 1(2):193—206. 

[7]Jiang Z,Man Y,Qin B,et a1.A high resolution video display system by 

semalessly tiling multiple projectors[c]//Proc.1EEE Intenrational 

Conference on Multimedia and Expo,2007:2070—2073. 

[8]秦博.面向复杂显示表面的多投影校正技术研究[D].上海:复旦 

大学软件学院,2010. 

f 9]Glinka F,Ploss A,MullerIden J,et a1.RTF:a real time framework for 

developing scalable muhiplayer online games[C]//Proc.NetGames 

2007,2007:81—86. 

[10]Pantel L,Wolf L C.On the suitability of dead reckoning schemes for 

games『C]//Proc.NetGames 2002,2002:79—84. 

[11]Unity Game Engine[OL].[2011-03-21].http://www.unity3d.coin/. 

发布评论

评论列表 (0)

  1. 暂无评论