一种基于居民健康档案的二进制数据压缩及加密方法

文档序号:9474356阅读:487来源:国知局
一种基于居民健康档案的二进制数据压缩及加密方法
【技术领域】
[0001]本发明涉及信号传输领域,特别是一种基于居民健康档案的二进制数据压缩及加密方法。
【背景技术】
[0002]近年来,随着计算机和信息技术的迅猛发展和普及应用,医疗行业也开始加入这个浪潮中来,开始着手利用现代化技术来管理医院,然而医院是一个为大众服务的部门,负责管理大量的数据信息,互联网化后就会有各种问题浮现出来,首先就是数据量的问题,互联网传输数据的量是有限的,大的数据会降低软件的执行效率;现在主流的网络传输数据格式主要是使用xml或者json传输,这两种格式的数据信息量大,数据传输效率不高且安全性较低,当今网络存在很多的安全隐患,体现出对数据加密的必要性。

【发明内容】

[0003]本发明的目的是提供一种基于居民健康档案的二进制数据压缩及加密方法,使用该方法不但提高数据传输的效率,降低网络传输的负担,而且增加数据在传输过程的安全性。
[0004]为实现上述目的,本发明采用的技术方案是:一种基于居民健康档案的二进制数据压缩及加密方法,该方法的具体步骤为:
[0005](I)数据读取模块从数据源中读取后,将数据存放到缓存队列中;
[0006](2) 二进制压缩模块从缓存队列中取出数据先判断其数据类型,若为定长数据则执行步骤(3-1),若为不定长数据则执行步骤(3-2),若为特殊医用测量数据则执行步骤(3-3);
[0007](3-1)将定长数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0008](3-2)将不定长数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0009](3-3)将特殊医用测量数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0010](4)加密模块从二进制压缩缓存中读取二进制压缩信息,将二进制压缩信息进行加密后存放到最终的加密缓存中去;
[0011](5)传输模块将加密缓存中的数据进行二进制流的传输。
[0012]进一步,所述步骤(3-1)定长数据的压缩方法为:首先从缓存数据中读取一个定长数据,第一部分用一个字节标识数据编号,第二部分用一个字节表示数据内容的长度,第三部分为数据内容的二进制编码,则定长数据的压缩由一、二、三部分相加后放到二进制压缩缓存中。
[0013]进一步,所述步骤(3-2)不定长数据的压缩方法为:首先从缓存数据中读取一个不定长数据,第一部分用一个字节标识数据编号,第二部分根据多选项的个数来分配二进制的位数,每一项对应一个二进制位,选中项对应的二进制位的数值为I,未选中项对应的二进制位的数值为O ;
[0014]1.假设不定长数据第二部分二进制位的最后一位数值为0,则不定长数据的二进制编码由第一部分和第二部分相加,压缩完成后存放到二进制压缩缓存中;
[0015]I1.假设不定长数据第二部分二进制位的最后一位数值为1,则不定长数据由第一、二、三、四部分组成,第三部分用一个字节来表示数据内容的长度,第四部分为数据的内容的二进制编码,则不定长数据压缩完成后存放到二进制压缩缓存中。
[0016]进一步,所述步骤(3-3)特殊医用测量数据的压缩方法为:首先从缓存数据中读取一个特殊医用测量数据,第一部分用一个字节标识数据编号,第二部分为自定义的内容;
[0017]1-1.假设第二部分的自定义内容是根据第一次测量记录值直接转成二进制编码即可,假设后面没有其他测量记录,则直接存放到二进制缓存中;
[0018]I1-2.假设第二部分的自定义内容后面还有更多的测量记录,则第二次测量记录值在第一次测量记录值的基础上进行加减得到的差值再转成二进制编码来表示,若还有第三次测量记录值,则第三次测量记录值也在第一次测量值的基础上进行加减得到的差值再转成二进制编码来表示,以此类推。
[0019]进一步,所述步骤⑷中加密模块的加密方法为:将数据压缩完成后得到的二进制编码,在设定的位置加入固定长度的二进制数。
[0020]本发明的有益效果:
[0021]1、提高数据传输效率,降低网络传输负担。
[0022]2、方便对数据的加密处理,增加了数据在传输过程的安全性。
[0023]3、传输相同的信息时,字节流可以不同,增加破解难度。
[0024]本发明通过高效的压缩算法以及二进制编码存储方式,实现了居民健康档案数据的高比例压缩;在平时使用xml或者json传输的情况下,传输大量的数据信息,会使数据传输效率和安全性降低。而使用本方法进行数据压缩,数据压缩比可以达到50% —60%,理想情况下将达到70%,同时对数据进行自定义加密,保证数据传输的安全性。
【附图说明】
[0025]图1是本发明的流程图,
[0026]图2为图1中定长数据压缩流程图,
[0027]图3为图1中不定长数据压缩流程图,
[0028]图4为图1中特殊医用数据压缩流程图,
[0029]图5为图1中加密方法流程图,
[0030]图6为二进制数据存储的格式,
[0031]图7为实施例的个人基本信息表。
【具体实施方式】
[0032]下面结合附图对本发明作进一步详细说明。
[0033]如图1所示该方法包括一个数据读取模块,一个二进制压缩模块,一个加密模块,一个传输模块;其具体步骤为:
[0034](I)数据读取模块从数据源中读取后,将数据存放到缓存队列中;
[0035](2) 二进制压缩模块从缓存队列中取出数据先判断其数据类型,若为定长数据则执行步骤(3-1),若为不定长数据则执行步骤(3-2),若为特殊医用测量数据则执行步骤(3-3);
[0036](3-1)将定长数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0037](3-2)将不定长数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0038](3-3)将特殊医用测量数据进行压缩存放到二进制压缩缓存中,执行步骤(4);
[0039](4)加密模块从二进制压缩缓存中读取二进制压缩信息,并进行数据加密后存放到最终的加密缓存中去;
[0040](5)传输模块将加密缓存中的数据进行二进制流的传输。
[0041]如图2、图6所示,作为本发明的进一步改进方案,所述步骤(3-1)定长数据的压缩方法为:首先从缓存数据中读取一个定长数据,第一部分用一个字节标识数据编号,第二部分用一个字节表示数据内容的长度,第三部分为数据内容的二进制编码,则定长数据的压缩由一、二、三部分相加后放到二进制压缩缓存中。
[0042]如图7所示,在此根据日常普遍使用的个人信息表来举例说明:
[0043]例如:性别属性一栏:
[0044]第一部分的数据用一个字节表示编号,假设为0000 0001,第二部分再用一个字节表示选项内容的长度,即0000 0010,表示当读取完长度的二进制(将二进制转换成十进制),往后读取两位就可获得具体的性别,第三部分加上数据内容代码。
[0045]性别的4个选项分别是男,女,不详和未说明的性别,用两位分别表示4个选项,假设:00表不男,01表不女,10表不不详,11表不未说明的性别;此时性别的属性压缩成的二进制为:0000 0001 0000 0010再加上性别的两位,例如性别为男00,二进制编码为:0000
00010000 0010 OOo
[0046]例如:文化程度属性一栏:
[0047]第一部分数据的编号用一个字节表示,例如0000 0100,用一个字节表示选项内容的长度,即0000 0011,表示当读取完长度的二进制(将二进制转换成十进制),往后读取三位就可获得具体的性别,第三部分加上数据内容的二进制编码。
[0048]文化程度的6个选项分别文盲及半文盲,小学,初中,高中/技校/中专,大学专科及以上和不详,假如:001表示文
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1