WU CHUNAN (CN)
LIU YANG (CN)
MA JIAN (CN)
LAI LIPENG (CN)
WEN SHUHAO (CN)
CN106682530A | 2017-05-17 | |||
CN109347941A | 2019-02-15 | |||
CN107292181A | 2017-10-24 | |||
CN109299217A | 2019-02-01 | |||
US20160283920A1 | 2016-09-29 |
权利要求书 [权利要求 i] 基于区块链的药物晶体库, 其特征在于, 包括三层数据存储架构: 第一层为晶体源数据层, 用于晶体信息获取, 存放药物晶体原始数据 , 安全及隐私由数据持有者保证; 第二层为晶体表示层, 用于晶体信息上链, 存储了按照各标准生成的 晶体信息文档, 一份文档唯一标识了一种晶型; 第三层为晶体索引层, 用于查询晶体信息, 通过区块链节点实现, 存 储了共享文档索引信息, 及查询信息。 [权利要求 2] 根据权利要求 1所述的基于区块链的药物晶体库的构建方法, 其特征 在于, 包括以下步骤: ( 1) 晶体信息获取 使用晶体库的组织或个人, 通过客户端提供的 ECDS A椭圆曲线算法 生成各自的公钥及私钥地址, 记录基本信息用于验证身份, 经过脱敏 处理后将信息写入身份数据库, 完成使用者的身份注册; 完成注册后 , 晶体库使用者通过客户端主动推送晶体信息, 或者通过约定的可访 问地址定期更新晶体原始信息; 晶体原始信息构成了晶体库中的源数据层; (2) 晶体信息上链 晶体库收到提供者的推送或检测到晶体数据更新后, 对提供的晶体信 息进行完备性、 有效性特性的验证, 之后依照晶体表示的标准方法, 通过提取非关键信息形成加密文档, 加密文档数据构成了晶体库的晶 体表示层; 生成文档后, 使用晶体信息提供者的私钥地址对文档数据进行数字签 名, 存储到可信的脱链数据库中; 存储库在检查完数字签名的合法性后, 进行晶体相似性验证, 将文档 信息与在链晶体数据进行相似性匹配; 发送的验证请求提交到区块链 上, 每个区块链节点收到请求后, 通过请求中的签名及公钥核验请求 的有效性, 对于有效请求, 进一步计算与已有晶体的相似度, 通过公 钥加密计算结果并返回; (3) 晶体信息索引 当所有节点相似性验证通过后, 新的晶体信息文档建立索引信息, 提 取后使用双 SHA256哈希算法对共享文档提取的信息形成数字指纹, 再将该数字指纹连同索引信息一起形成区块并写入到区块链中, 完成 文档索引区块的构建和注册, 构成了晶体库的晶体索引层。 [权利要求 3] 根据权利要求 2所述的基于区块链的药物晶体库的构建方法, 其特征 在于, 步骤 (1) 中晶体信息获取包含多个来源: 1.来自现有的标准 晶体库或药典收录; 2.来自个人、 组织贡献的实验结果; 3.来自药物 晶型专利; 4.量化计算结果晶体。 [权利要求 4] 根据权利要求 2所述的基于区块链的药物晶体库的构建方法, 其特征 在于, 步骤 (3) 中新的晶体信息文档建立索引信息, 包括文档创建 者、 创建时间、 保密级别、 文档唯一标识、 格式、 hash值、 通用命名 、 别名、 针对病症。 |
[0001] 本发明属于药物分子晶体数据库的构建领域, 具体涉及一种基于区块链的药物 晶体库及其构建方法。
背景技术
[0002] 常用药物晶体数据库为 CCDC (the Cambridge Crystallo Crystallographic Data
Centre) 提供的离线查询 (同名) 软件, 里面内置了部分药物分子晶体, 可通过 缩写进行搜索, 以及基于空间群、 自由度等参数的搜索, 并将结果进行 3D展示, 或指定格式的文件保存。
[0003] CCDC提供的软件, 必须在 PC端下载安装后才能使用, 更新频率慢 (一年一次
) , 价格较高, 且只能由 cede相关机构添加数据。 软件数据库离线保存, 数据损 坏后需要重新安装恢复, 数据也可能被拷贝传播, 没有安全保证。 药物分子晶 体与结晶无法进行结构比对。
发明概述
技术问题
问题的解决方案
技术解决方案
[0004] 本发明提出了基于区块链的药物晶体库及其构 建方法, 适用于药物晶体数据库 的构建, 利用区块链对药物分子晶型信息进行管理, 结合客户端软件, 实现对 于药物分子晶型的新增、 查找、 对比等功能, 达到对分子晶型的保护、 快速授 权等目的。
[0005] 具体技术方案为:
[0006] 基于区块链的药物晶体库, 包括三层数据存储架构:
[0007] 第一层为晶体源数据层, 用于晶体信息获取, 存放药物晶体原始数据, 安全及 隐私由数据持有者提供;
[0008] 第二层为晶体表示层, 用于晶体信息上链, 存储了按照各标准生成的晶体信息 文档, 可唯一标识一种晶型;
[0009] 第三层为晶体索引层, 用于查询晶体信息, 通过区块链节点实现, 存储了共享 文档索引信息, 及查询信息。
[0010] 基于区块链的药物晶体库构建方法, 包括以下步骤:
[0011] ( 1) 晶体信息获取
[0012] 晶体信息获取包含多个来源: 1.来自已有的标准晶体库或药典收录; 2.来自个 人、 组织贡献的实验结果; 3.来自药物晶型专利; 4.量化计算结果晶体。
[0013] 晶体信息提供的组织或个人, 通过 ECDSA椭圆曲线算法生成各自的公钥及私 钥地址, 记录基本信息用于验证身份, 经过脱敏处理后将信息写入身份数据库 , 完成提供者的注册。
[0014] 完成注册后, 晶体信息提供者通过客户端主动推送晶体信息 , 或者通过约定的 互联网地址 (包括但不限于 ftp、 网盘、 云存储等) 定期更新晶体原始信息。 晶 体原始信息构成了晶体库中的源数据层。 但受到源数据来源广泛等因素影响, 不对源数据进行统一存储, 仍然由数据持有者维护。
[0015] (2) 晶体信息上链
[0016] 晶体库收到提供者的推送或检测到更新后, 会对提供的晶体信息进行完备性、 有效性等特性的验证, 之后依照晶体表示的标准方法, 通过提取非关键信息形 成加密文档, 默认情况下会采集晶体的分子信息、 空间群信息, 键连接等。 文 档数据构成了晶体库的晶体表示层。
[0017] 生成文档后, 使用晶体信息提供者的私钥地址对文档数据进 行数字签名, 存储 到可信的脱链数据库中。
[0018] 存储库在检查完数字签名的合法性后, 需要进行晶体相似性验证; 也就是将文 档信息与在链晶体数据进行相似性匹配; 发送的验证请求提交到区块链上, 每 个区块链节点收到请求后, 通过请求中的签名及公钥核验请求的有效性, 对于 有效请求, 进一步计算与已有晶体的相似度, 通过公钥加密计算结果并返回;
[0019] (3) 晶体信息索引
[0020] 当所有节点相似性验证通过后, 新的晶体信息文档建立索引信息, 包括文档创 建者、 创建时间、 保密级别、 文档唯一标识、 格式、 hash值、 通用命名、 别名、 针对病症等, 提取后使用双 SHA256哈希算法对共享文档提取的信息形成数字 指 纹, 再将该数字指纹连同索引信息一起形成区块并 写入到区块链中, 完成文档 索引区块的构建和注册。 这个过程构成了晶体库的晶体索引层。
[0021] 本发明提供基于区块链的药物晶体库及其构建 方法, 通过区块链技术、 智能合 约、 在链晶体索引结合脱链晶体表示等方法实现了 对药物晶体信息的共享, 解 决了药物晶型查询困难及授权隐私保护等问题 , 提供了药物研究可追溯查询方 法。
[0022] 本发明提供的基于区块链的药物晶体库及其构 建方法, 具有以下技术优势:
[0023] ( 1) 能够显著降低药物晶体的查询、 获取及维护难度, 使晶体信息的分享更 为快捷透明, 同时能够提供某类晶体在探索过程中的演化历 史, 为药物研究提 供指导。
[0024] (2) 更加精准快捷的保护药物晶型的归属权利, 保证数据不被篡改或盗取。
[0025] (3) 利用不同来源的晶体做研究也能充分发挥大数 据的效用, 打破以往数据 只在企业内使用的壁垒, 提供更好的研究环境。
[0026] (4) 基于智能合约的授权方式能够保证每次授权都 是可追溯且不能篡改的, 对晶型授权及保护提供了更加完备的选项。
发明的有益效果
对附图的简要说明
附图说明
[0027] 图 1为本发明的流程图 发明实施例
本发明的实施方式
[0028] 结合实施例说明本发明的具体技术方案。
[0029] 基于区块链的药物晶体库构建分为三个部分, 分别为: 晶体信息获取、 晶体信 息上链、 查询晶体信息, 如图 1所示, 对应着晶体库三层结构, 即晶体源数据层 、 晶体表示层、 晶体索引层。
[0030] 第一层为晶体源数据层, 用于晶体信息获取, 存放药物晶体原始数据, 安全及 隐私由数据持有者提供;
[0031] 第二层为晶体表示层, 用于晶体信息上链, 存储了按照各标准生成的晶体信息 文档, 可唯一标识一种晶型;
[0032] 第三层为晶体索引层, 用于查询晶体信息, 通过区块链节点实现, 存储了共享 文档索引信息, 及查询信息。
[0033] 基于区块链的药物晶体库的构建过程为:
[0034] 步骤 1 : 注册及身份认证。
[0035] 药物晶体库的使用者, 需要提供可查验的身份信息, 如果是个人, 注册时需要 提供姓名、 性别、 职业、 常驻地、 身份证号等, 如果是单位或科研机构, 需要 提供机构名称、 联系电话、 企业编号等信息。
[0036] 注册模块根据信息向相关机构进行核验, 通过后会依照注册信息及 ECDSA椭 圆曲线算法为使用者生成唯一的公钥及私钥, 公钥及私钥一经生成不能变更, 由晶体库维护。
[0037] 步骤 2: 晶体源数据层构建。
[0038] 通过晶体信息来源获得存有晶体信息的文档, 晶体信息来源包括但不限于晶体 专利, 实验获取, 中国药典收录, 计算得出等;
[0039] 根据 《中国药典》 (9015药品晶型研究及晶型质量控制指导原则) 中对药物多 晶型的定义标准, 提取文档中药物晶体相关参数, 包括分子名称、 相关疾病、 空间群信息、 晶胞参数、 分子对称性、 分子作用力、 分子构象、 结晶水、 结晶 溶剂、 XRD衍射图像等生成文档。 药物晶体相关参数根据公开等级可以适当增 减参数项。
[0040] 步骤 3: 晶体表示层构建。
[0041] 文档生成后, 利用步骤 1中使用者的私钥地址对步骤 2生成的文档签名, 存储到 受信的存储库中, 存储库首先检查文档签名的有效性, 通过使用者的公钥即可 获取数字签名, 经过签名有效性验证后, 进一步验证其多方相似性。
[0042] 包括:
[0043] ( 1) 存储库检查信息文档的公开等级, 根据公开等级屏蔽掉文档中敏感的信 息, 然后对链上所有提供过晶体信息文档的节点发 送验证请求; [0044] (2) 各节点收到请求后, 根据请求中的签名及公钥信息, 验证请求有效性, 通过验证后, 针对文档信息核验其是否符合上链条件及与所 存晶体信息的相似 度, 具体相似度计算可参考 《中国药典》 中提到的方法 (单晶 X射线衍射法得到 的衍射图像, 当满足衍射峰相同, 二者 20值衍射峰位置误差范围在 ±0.2°内、 相同位置衍射峰的相对峰强度误差在 ±5%内, 衍射峰的强弱顺序应一致) 。
[0045] 公开程度较低的晶型, 可降低相似度判定条件。 节点验证通过后, 通过请求中 的公钥加密计算结果并返回。
[0046] 步骤 4: 晶体索引层构建。
[0047] 当所有请求都返回了并验证通过后, 新的晶体信息文档建立索引信息, 包括文 档创建者、 创建时间、 保密级别、 文档唯一标识、 格式、 通用命名、 别名、 针 对病症等, 提取后使用双 SHA256哈希算法对共享文档提取的信息形成数字 指纹 , 再将该数字指纹连同索引信息一起形成区块并 写入到区块链中, 完成文档索 引区块的构建和注册。
[0048] 步骤 5: 查询药物晶体信息。
[0049] 药物晶体库使用者如果需要获取相关药物晶体 信息时, 通过查询模块可以得到 相关的索引信息。
[0050] 具体来说, 可以通过疾病名称、 药物名称、 分子片段等信息搜索到相同或相近 的晶体文档索引。 以搜索疾病“高尿酸血症”为例, 查询模块通过疾病名称加使用 者公钥提交到区块链中, 区块链收到查询请求后, 验证查询者签名的有效性, 验证通过后将查询结果用使用者公钥加密后返 回给查询者。
[0051] 查询者通过私钥解密查询结果, 即可得到返回的索引 +脱链文档的查询结果。
搜索结果里包含了与痛风相关的非布司他、 秋水仙碱等相关药物晶型, 而非布 司他的不同药物晶型有几十种, 分别对应了 A、 B、 C、 H、 I、 J、 K等晶型及水 合物、 甲醇溶剂合物等多种溶剂合物, 由于大多数相关晶型都已申请专利, 可 以通过结果直接查到专利号、 专利作者等信息。
[0052] 步骤 6: 获取晶体源数据。
[0053] 对于查询结果里部分公开或非公开类型的晶型 文档, 能够从区块链上获取的信 息是有限的, 如果需要进一步查看原始文档等信息, 则需要通过加密数据通道 发送请求到存有原始文档的组织机构或个人。 请求同样通过区块链发送, 相关 机构或个人收到请求后, 通过电子签名验证请求有效性, 并进一步评估是否通 过请求。 通过后, 自行发送原始文档给请求者。
[0054] 本方法构建的晶体库提供了多样化的晶体信息 查询方式:
[0055] ( 1) 针对已经公开或者专利中的晶体信息, 可通过名称直接查询, 这种方式 针对的是保密级别为公开的晶体;
[0056] (2) 针对部分加密或完全加密的晶体, 查询方式受限于分子匹配或分子片段 匹配、 贡献者匹配等; 结合查询的参数, 生成文档查询的请求, 使用查询者的 证书签名带上公钥发送到区块链中;
[0057] (3) 区块链在收到查询请求后, 首先验证查询的真实性和有效性, 然后将请 求发送给脱链数据库, 脱链数据库在验证查询有效性后, 将查询文档加密后返 回;
[0058] (4) 当查询者需要进一步查看晶体原始数据时, 通过区块链再次发送查询请 求给数据持有者, 持有者对请求者的签名进行解析认证, 确认有效性后根据实 际情况决定是否将相应晶体信息公开给请求者 , 确认发送后, 使用查询者提供 的公钥对信息加密, 发送给查询者;
[0059] (5) 查询完成后, 查询者数字签名、 查询时间、 查询完成实际、 文档唯一标 识等信息形成区块写入区块链。