Page 300 - 《软件学报》2021年第10期
P. 300

3272                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 本文实现查询矩阵构造方式如图 4 所示,其范围搜索的方式如图 5 所示.为实现范围搜索,只需在构建查询向量
                 时对在范围内的属性位置 1,查询矩阵由差分矩阵处理后构建查询矩阵该属性值置 0.因而与含有该属性的索引
                 矩阵的哈达码积为 0,即能够实现对所有需要属性的范围搜索功能.


















                                           Fig.4    Construction of keyword search matrix
                                                 图 4   查询关键词矩阵构造













                                             Fig.5    Match for range search procedure
                                                    图 5   范围搜索匹配
                    在图 3 所述实例中,对于 46 岁女患者而言,年龄 46 属性值为 1,性别属性值为 01.按照所构建的查询矩阵年
                 龄 40~50 范围内属性值均为 0,性别属性值均为 0,最后,哈达码积计算得到的矩阵也为 0 矩阵,即搜索成功.
                    若年龄为 39 岁的患者,其年龄对应 39 属性值为 1,最终查询矩阵在年龄 39 上的属性值也为 1,哈达码积计
                 算得到的矩阵在对应年龄 39 属性上的值不为 0,即哈达码积结果为非零矩阵.因此该病例并不会被本文算法搜
                 索得到,即该病例搜索失败.对于该例子而言,只要属性符合我们的查询请求“(年龄=4*) AND  (疾病=高血压)
                 AND (地区=武汉)”的病例均会被成功搜索得到,即实现了范围搜索能力.
                    设云医疗系统中共有 m 个文件和 n 个关键词,接下来我们给出具体构造方案.
                 4.2   系统初始化Setup
                    可信健康中心 HC 对文件 F 中提炼关键词总集(如年龄、地区、病种等),记为 W=(w 1 ,w 2 ,…,w n ),生成 lh 位
                                                                                                   
                 二进制矩阵 P={1,0} lh ,选取两个 ll 的可逆矩阵 M 1 和 M 2 以及一个 n 位初始值为 1 的二进制参考向量 Q ,称为
                 参考查询矢量.其中,l 是一个正整数且满足 l|n,h 表示划分段数,h=n/l.
                    同时,对于医疗数据 EHRs 文件 F=(f 1 ,f 2 ,…,f m ),HC 选择加密文件 F 的对称加密算法.
                                          
                    最后,HC 公开参数 pp     {, , , ( , )}.n Q W   E D
                    保存 HC 的系统私钥 SK={KEY,P,M 1 ,M 2 }.
   295   296   297   298   299   300   301   302   303   304   305