数据压缩方法和装置以及数据解压缩方法和装置制造方法及图纸

技术编号:6693265 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据压缩方法,获取原始数据序列(N1,N2,N3,…,Nm),根据1<k≤m和原始数据序列(N1,N2,N3,…,Nm)获取差分数据序列(D1,D2,D3,…,Dm),依次存储差分数据序列(D1,D2,D3,…,Dm)中的每一个差分数据。本发明专利技术还提供一种数据解压缩方法、数据压缩装置和数据解压缩装置。采用本发明专利技术提供的数据压缩方法和装置以及数据解压缩方法和装置,通过对原始数据序列进行后项减前项的计算获得差分数据序列,依次存储差分数据序列中的每一个差分数据,由于差分数据的值小于原始数据的值,因此,存储差分数据占用的字节数少于原始数据占用的字节数,从而节省了数据存储空间。

【技术实现步骤摘要】

本专利技术涉及数据库技术,尤其涉及一种数据压缩方法、数据解压缩方法、数据压缩 装置和数据解压缩装置。
技术介绍
在关系数据库
中,数据检索通常采用目录数据表或主索引数据表实现, 目录数据通常是数据库访问最频繁的部分。目前,目录数据的存储通常采用直接存储原始 目录数据的方式,一般会占用较大的存储空间,特别是对于千万级以上记录数的情况,存储 该目录数据需要耗费巨大的存储空间。以数据库存储内容为电子健康档案为例,电子健康档案的目录是电子健康的总索 引,医生调阅患者的电子健康档案时,首先查看目录,然后再根据目录逐级展开查看,因此 目录是电子健康档案中访问最为频繁的部分。表1为电子健康档案目录结构表。如表1所 示,电子健康档案目录包括患者主索引标识(Dentity,简称ID)和多个就诊主记录ID,其 中,患者的主索引ID是患者在区域卫生信息数据库中的唯一标识,就诊主记录ID用于标识 该患者的一次完整的卫生服务活动,通常由区域卫生数据中心代码、医疗机构代码和活动 序列号组成,其中,区域卫生数据中心代码、医疗机构代码在一个区域内都是唯一的,活动 序列号为患者就诊活动的编号,通常可以依该患者就诊总次数递增。例如一次完整的卫 生服务活动为患者李明2008年5月2日第一次到人民医院看病就诊,则患者的主索引ID 为李明,人民医院所在的区域卫生数据中心代码为100,人民医院的医院代码以100为例, 本次活动的序列号为001,则第一次就诊主记录ID为100100001。就诊主记录I D实际上 是区域卫生信息数据库的就诊主记录表的主键,医生浏览健康档案目录,想要查看患者某 一次就诊的详细记录时,健康档案服务程序会根据该次就诊的就诊主记录ID,从数据库的 就诊主记录表中获得详细的就诊记录,向医生展示出来。表1.电子健康档案目录结构表权利要求1.一种数据压缩方法,其特征在于,包括获取原始数据序列(N1, N2,N3,…,Nm),其中,m…、Nm分别为原始数据,m为原 始数据总个数;根据2.根据权利要求1所述的方法,其特征在于,存储所述差分数据序列(D1,D2, D3,…, Dffl)中的任意一个差分数据的方法包括按照从低位到高位的顺序,从当前差分数据中取出指定个数的位并存储到当前字节的 数据位中,其中,所述当前字节包括数据位和标识位,所述指定个数为当前字节的数据位的 个数;判断当前差分数据是否取尽;如果是,在当前字节的标识位存储结束标识,并将下一个字节设置为当前字节,存储所 述差分数据序列(D1, D2, D3,…,Dm)中的下一个差分数据;否则,在当前字节的标识位存储未结束标识,并将下一个字节设置为当前字节,返回执 行所述按照从低位到高位的顺序,从当前差分数据中取出指定个数的位并存储到当前字节 的数据位中的步骤。3.根据权利要求2所述的方法,其特征在于,所述指定个数为7,所述结束标识为1,所述未结束标识0 ; 或,所述指定个数为7,所述结束标识为0,所述未结束标识1。4.一种数据解压缩方法,其特征在于,包括获取差分数据序列(D^D2J3,…,Dm),其中,Di、D2、D3、…、Dm分别为差分数据,m为差 分数据总个数; [N1=D1根据5.根据权利要求4所述的方法,其特征在于,获取差分数据序列(D1,D2, D3, -,Dffl)中 的任意一个差分数据包括读取当前字节的数据位存储的数据,其中,所述当前字节包括数据位和标识位; 判断当前字节是否为该差分数据的第一个字节,如果是,将当前字节的数据位存储的 数据作为临时数据,否则,将当前字节的数据位左移到当前的临时数据的最高位左侧,将当 前字节的数据位存储的数据与当前的临时数据合并后的数据作为临时数据; 判断当前字节的标识位是结束标识或未结束标识; 如果是结束标识,将所述临时数据作为差分数据;如果是未结束标识,将下一个字节设置为当前字节,返回执行所述读取当前字节的数 据位存储的数据的步骤。6.根据权利要求5所述的方法,其特征在于,所述将当前字节的数据位左移到当前的 临时数据的最高位左侧包括对判断当前差分数据的字节的标识位是未结束标识的次数进行计数,获得计数值; 将当前字节的数据位左移指定位数,所述指定位数为当前字节的数据位的个数与所述 计数值的乘积。7.一种数据压缩装置,其特征在于,包括原始数据模块,用于获取原始数据序列(N1A2,R3,…,Nm),其中,N1A2為、…、Nm分别 为原始数据,m为原始数据总个数;差分数据模块,用于根据8.根据权利要求7所述的装置,其特征在于,所述存储控制模块包括获取单元,按照从低位到高位的顺序,从当前差分数据中取出指定个数的位,所述指定 个数为当前字节的数据位的个数;存储单元,用于向当前字节的数据位存储所述指定个数的位,其中,所述当前字节包括 数据位和标识位;控制单元,用于判断当前差分数据是否取尽;如果是,在当前字节的标识位存储结束标 识,并将下一个字节设置为当前字节,控制所述获取单元和存储单元处理所述差分数据序 列(D1,D2,D3,…,Dm)中的下一个差分数据;否则,在当前字节的标识位存储未结束标识,并 将下一个字节设置为当前字节,控制所述获取单元和存储单元再次处理当前差分数据。9.一种数据解压缩装置,其特征在于,包括 差分数据模块,用于获取差分数据序列(D1,D2,D3…,Dm),其中,Di、D2、D3、…、Dm分别 为差分数据,m为差分数据总个数;原始数据模块,用于根据10.根据权利要求9所述的装置,其特征在于,所述差分数据模块包括读取单元,用于读取当前字节的数据位存储的数据,其中,所述当前字节包括数据位和 标识位;第一控制单元,用于判断当前字节是否为该差分数据的第一个字节,如果是,向数据单 元发送第一字节指令,否则,向数据单元发送非第一字节指令;数据单元,用于根据第一字节指令,将当前字节的数据位存储的数据作为临时数据,根 据非第一字节指令,将当前字节的数据位左移到当前的临时数据的最高位左侧,将当前字 节的数据位存储的数据与当前的临时数据合并后的数据作为临时数据;第二控制单元,用于判断当前字节的标识位是结束标识或未结束标识;如果是结束标 识,将所述临时数据作为差分数据;如果是未结束标识,将下一个字节设置为当前字节。全文摘要本专利技术提供一种数据压缩方法,获取原始数据序列(N1,N2,N3,…,Nm),根据1<k≤m和原始数据序列(N1,N2,N3,…,Nm)获取差分数据序列(D1,D2,D3,…,Dm),依次存储差分数据序列(D1,D2,D3,…,Dm)中的每一个差分数据。本专利技术还提供一种数据解压缩方法、数据压缩装置和数据解压缩装置。采用本专利技术提供的数据压缩方法和装置以及数据解压缩方法和装置,通过对原始数据序列进行后项减前项的计算获得差分数据序列,依次存储差分数据序列中的每一个差分数据,由于差分数据的值小于原始数据的值,因此,存储差分数据占用的字节数少于原始数据占用的字节数,从而节省了数据存储空间。文档编号G06F17/30GK102103630SQ20101059218公开日2011年6月22日 申请日期2010年12月8日 优先权日2010年12月8日专利技术者张凤全, 程磊, 赵文东 申请人:中国联合网络通信集团有限公司本文档来自技高网...

【技术保护点】
1.一种数据压缩方法,其特征在于,包括:获取原始数据序列(N1,N2,N3,…,Nm),其中,N1、N2、N3、…、Nm分别为原始数据,m为原始数据总个数;根据1<k≤m和所述原始数据序列(N1,N2,N3,…,Nm),获取差分数据序列(D1,D2,D3,…,Dm),其中,D1、D2、D3、…、Dm分别为差分数据;依次存储所述差分数据序列(D1,D2,D3,…,Dm)中的每一个差分数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:程磊张凤全赵文东
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1