一种基于TYKYcNosql数据库的数据存储方法及装置的制造方法_2

文档序号:8299211阅读:来源:国知局
YKY cNosql数据库作为关系型数据库的补充运用在医疗信息化中的方法,并且使用闪存与磁盘混合的自调节存储数据的方法,从而提高了其并发读写性能,保证了弹性在线可扩展能力,实现了数据管理功能并且降低了医疗大数据存储成本。
[0043]本实施例中,主要对TYKY cNosql数据库的存储架构进行详细阐述。由于现有技术中采用RAID作为数据库的存储设备,读写性能较差。因此,在本实施例中,在TYKY cNosql数据库中增加闪存,将闪存和磁盘共同作为TYKY cNosql数据库的存储设备,对数据进行存储,利用闪存读写性能较高的特点,提高TYKY cNosql数据库中数据读写的效率。
[0044]步骤202:设置存储规则,设置粒度细化等级。
[0045]在本实施例中,可以预先设置存储规则,以使后续过程中闪存和磁盘能够对数据实现自调节存储。
[0046]在本发明一优选实施例中,可以根据下述一种或多种设置存储规则:数据类型、数据访问频率、存储设备的剩余空间和数据源类型。
[0047]例如,根据数据访问频率设置存储规则,设置的存储规则可以包括:将数据访问频率不小于每天10次的数据存入闪存中,将数据访问频率小于10次的数据存入磁盘中。这样,存入闪存中的数据,在访问时会利用闪存读写性能高的优点,实现快速读写。
[0048]再如,利用存储设备的剩余空间设置存储规则,设置的存储规则可以包括:判断闪存和磁盘中当前的剩余空间,将数据存入剩余空间多的存储设备中。
[0049]在本实施例中,为了减少对数据库本身逻辑的修改,可以不在物理页面上维护访问信息,而在内存中对数据访问频率进行统计,这样不仅减少了对数据库本身逻辑的修改,还减少了对物理页面的写操作,并充分考虑时间因素,使得统计信息可以反映当前一段时间内工作集的特征。
[0050]在本发明一优选实施例中,可以设置粒度细化等级,用于将闪存中的物理页面进行粒度细化操作,使得操作后的物理页面划分为多个子页面。其中,粒度细化等级越高,细化程度越低;相反,粒度细化等级越低,细化程度越高。优选地,将粒度细化等级设置为用户设置的所有等级中的最低级。
[0051]步骤203:获取待存储数据,根据存储规则分析待存储数据的目标存储设备。
[0052]在本实施例中,TYKY cNosql数据库是基于对象的存储,“对象”可以是文档,文档被组织为集合,每个集合在数据库中都有一个唯一的标识,不同的是它不需要定义任何模式。集合中可以包含具有任意模式的文档记录,文档属性的类型既可以是基本的数据类型(例如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档,从而实现逆规范化的数据模型,提高查询的速度。另外,待存储数据的数据来源囊括了互联网装置可以获取的任何数据,待存储数据可以包括网站、社交媒体、交易型商业数据以及其它商业环境中创建的数据等。
[0053]在本实施例中,根据步骤202设置的存储规则对待存储数据进行分析,以存储规则为:将数据访问频率不小于每天10次的数据存入闪存中,将数据访问频率小于10次的数据存入磁盘中。TYKY cNosql数据库中的分析单元根据数据访问频率的统计信息,确定待存储数据的目标存储设备。
[0054]步骤204:若目标存储设备为闪存,获取闪存中待存储数据的物理地址,将该闪存中的物理地址存至缓冲区,并根据粒度细化等级,对闪存中的物理页面进行粒度细化操作,得到多个子页面,根据该闪存中的物理地址将待存储数据存储至操作后的闪存中;若目标存储设备为磁盘,获取磁盘中待存储数据的物理地址,将该磁盘中的物理地址更新至磁盘中的第一映射表中,根据该磁盘中的物理地址,将待存储数据存储至磁盘。
[0055]在本实施例中,若根据步骤203中判断待存储数据的数据访问频率不小于每天10次,那么将该待存储数据存储至闪存中。
[0056]在本实施例中,在确定目标存储设备是闪存或磁盘时,均需要获取闪存或磁盘中的物理地址,根据闪存中的物理地址和磁盘中的物理地址,将待存储设备存储至闪存和磁盘的相应位置。
[0057]为了实现能够快速查找到闪存中物理地址,可以将闪存中的物理地址存储至缓冲区。而磁盘中的物理地址,可以在磁盘中建立映射表,存储磁盘中的物理地址,从而减少了对数据库本身逻辑的修改。
[0058]在本实施例中,根据步骤203中设置的粒度细化等级,将闪存中的物理页面进行粒度细化操作为多个子页面,并在粒度细化操作之后,以划分后的子页面存储数据。
[0059]步骤205:构建TYKY cNosql数据库的第二映射表,并将第二映射表存储至缓冲区;其中,第二映射表中包括TYKY cNosql数据库内存储的所有数据的物理地址。
[0060]为了方便后续数据访问,还需要构建TYKY cNosql数据库的映射表。在本实施例中,可以将构建的映射表存储至缓冲区。其中,该映射表中包括行逻辑号和物理地址的映射关系。在本实施例中,还可以对闪存中的物理地址存储至缓冲区。
[0061]步骤206:在接收到查询指令时,其中,查询指令携带目标数据的行逻辑号,根据第二映射表,将目标数据的行逻辑号转换为目标物理地址;根据目标物理地址检查缓冲区存储的物理地址是否命中,若是,根据目标物理地址从闪存中读取目标数据对应的子页面;否则,根据第一映射表读取磁盘中的目标数据。在本实施例中,当接收到查询指令时,需要对该查询指令经过查询处理、索引检索等一系列处理,最终转化为对数据库中某一行逻辑号的查询,此时,查询指令携带目标数据的行逻辑号,因此,数据库通过缓冲区的映射表将该目标数据的行逻辑号转换为实际的物理地址,并检查该物理地址是否在缓冲区命中,若该物理地址在缓冲区命中,表明该查询的数据位于闪存中,则根据物理地址在闪存中读取相应的存储位置;若该物理地址在缓冲区未命中,表明该查询的数据位于磁盘中,则根据物理地址查询磁盘中保存的映射表,确定磁盘中该物理地址对应的存储位置。
[0062]如图3所示,在本实施例中,TYKY cNosql数据库不仅仅包括上述存储架构(图3中的核心存储引擎),还可以包括下述模块来实现相应功能:
[0063]集群管理:通过一定的网络模型将数据拆分存储,从而将同一数据块存储在不同的集群主机上,图3中每个实例集都是组成集群的一个分片,被拆分的数据分布存储在不同的分片上。每个分片本身是一个副本集,每个副本集都是由多个存储着相同内容的数据库实例组成。
[0064]TYKY cNosql数据库将很多服务器集中起来构建一个大规模的医疗数据库集群一起进行同一种服务,集群具备动态增加服务器的水平扩展能力,具备自动分片技术可将数据库分别存储在分片的的各个节点上,集群中包含数据路由进程和数据管理进程,当收到客户端请求时,它请求路由到相应的服务器组和结果发送回客户端。由于在大型医疗信息化环境中数据处理能力的瓶颈会落在网络的带宽和磁盘的读写上,集群利用多个计算机进行并行存储而获得并行的读写速度,通过自动分片技术将医疗大数据分布在多个机器的多个磁盘上,便大大提高了医疗信息系统针对大数据的并发读写性能。同时用多个计算机做备份,部分机器出现故障时保障整个系统能正常运行。
[0065]接口服务:主要负责执行TYKY cNosql数据库用户的查询命令和数据库管理命令,负责执行客户端API开发接口的调用,负责执行客户端脚本的调用。TYKY cNosql为异质数据库的访问提供了统一的接口。基于HTTP协议,并把它作为访问数据库的标准。TYKYcNosql接口模块提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码,即REST接口访问不同的数据库管理系统。TYKY cNosql数据库还为C++、PHP、Python、Java等多种开发语言提供了 API接口。从而实现医疗应用与数据库的无缝对接。
[0066]分布式文件存储:是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。TYKY cNosql数据库的分布式文件模块支持存储大型二进制文件,包括医疗影像、声音等医疗大数据的存储。同时具备对用户上传的文件进行加密压缩,在保证用户文件数据安全的同时,亦能保证最小的空间占有量,提升数据库运作效率,降低储存成本。
[0067]数据迀移:支持从传统关系型数据库进行数据的导入,便于将已有的业务迀移到新的云数据库,并以多种标准形式导出,从而为医疗信息系统的升级扩展提供强有力的存储支撑。TYKY cNosql数据库具备导入导出功能,通过自主研发的性能平衡数据读写系统,实时地在对系统性能影响最小的前提下,对数据库中的数据进行跨平台的迀移,同时自动开启文件集合锁定功能,保证数据拓扑结构不变的前提下,对数据进行总体迀移。
[0068]数据库管理:通过WEB管理控制台,提供了各种直观的报表,帮助管理员快捷地完成各种数据库管理功能,包括
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1