著录项信息
专利名称 | 一种数据存储与检索的方法及系统 |
申请号 | CN200710129804.1 | 申请日期 | 2007-07-26 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2007-11-28 | 公开/公告号 | CN101079074 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 杭州华三通信技术有限公司 | 申请人地址 | 浙江省杭州市滨江区长河路466号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 新华三技术有限公司 | 当前权利人 | 新华三技术有限公司 |
发明人 | 丁文涛 |
代理机构 | 隆天国际知识产权代理有限公司 | 代理人 | 郭晓东 |
摘要
一种数据存储与检索的方法及系统,所存储的数据单元具有多个定位数据字段,存储数据时,将所存储数据单元中的所述定位数据字段聚合为一个数据字段并进行计算,获得与其具有一一对应关系的信息码;检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行计算获得其信息码,并以所述信息码进行所述待检索数据单元的检索定位。所述系统包括数据存储模块与数据检索模块。因此,本发明极大地提高了数据检索的效率。
1、一种数据存储与检索方法,所存储的数据单元具有多个定位数据字段, 其特征在于,所述的方法包括:
存储数据时,将所存储的数据单元中的所述定位数据字段聚合为一个数 据字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;
检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据 字段并进行摘要计算获得其摘要信息码,并以所述摘要信息码进行所述待检 索数据单元的检索定位。
2、如权利要求1所述的数据存储与检索方法,其特征在于,
所述的数据存储步骤具体包括:
步骤11:输入需存储的数据单元,并提取所述数据单元的定位数据字段;
步骤12:将所述需存储的数据单元的定位数据字段聚合为一个数据字 段,计算所述需存储的数据单元的摘要信息码;
步骤13:提取所述需存储的数据单元的存储属性,将所述存储属性与摘 要信息码的对应关系写入索引表;
所述的检索数据步骤具体包括:
步骤21:输入待检索数据单元,并提取其定位数据字段;
步骤22:将所述待检索数据单元的定位数据字段聚合为一个数据字段, 计算摘要信息码;
步骤23:在所述索引表中查找所述待检索数据单元的摘要信息码,获取 该摘要信息码对应的存储属性,并根据所述存储属性找到满足要求的所述数 据单元。
3、如权利要求2所述的数据存储与检索方法,其特征在于,所述的检索 数据步骤后还包括:
数据执行步骤:对所述数据单元和/或所述数据单元中的多个定位数据字 段的信息,进行读取、删除和/或修改的操作。
4、如权利要求1所述的数据存储与检索方法,其特征在于,将所述定位 数据字段聚合为一个数据字段的方法为,将所述定位数据字段的值连接为一 个字符串。
5、如权利要求1-4任一所述的数据存储与检索方法,其特征在于,所述 计算摘要信息码采用CRC32算法或MD5算法。
6、如权利要求1所述的数据存储与检索方法,其特征在于,利用所述摘 要信息码直接映射得到该数据单元的存储属性。
7、一种数据存储与检索系统,所存储的数据单元具有多个定位数据字段, 其包括:
存储模块:将所存储的数据单元中的所述定位数据字段聚合为一个数据 字段并进行摘要计算,获得与所述数据单元具有一一对应关系的摘要信息码;
检索模块:将待检索数据单元中的所述定位数据字段聚合为一个数据字 段并进行摘要计算获得待检索数据单元中的摘要信息码,并以所述的摘要信 息码进行所述待检索数据单元的检索定位。
8、如权利要求7所述的数据存储与检索系统,其特征在于,所述的 数据单元与其摘要信息码的一一对应关系存储于索引表中,其中:
存储数据时,存储模块提取所述数据单元的定位数据字段;将所述定位 数据字段聚合为一个数据字段,计算所述需存储的数据单元的摘要信息码; 提取所述需存储的数据单元的存储属性,将所述存储属性与摘要信息码的对 应关系写入所述索引表;
检索数据时,检索模块提取待检索数据单元的定位数据字段;将所述定 位数据字段聚合为一个数据字段,计算其摘要信息码;在所述索引表中查找 所述待检索数据单元的摘要信息码,获取该摘要信息码对应的存储属性,并 根据所述存储属性找到满足要求的所述数据单元。
9、如权利要求7所述的数据存储与检索系统,其特征在于,所述系统还 包括:
执行模块:根据所述检索模块的数据检索结果,对所述数据单元和/ 或所述数据单元中的多个定位数据字段的信息,执行读取、删除和/或修 改的操作。
10、如权利要求7-9任一所述的数据存储与检索系统,其特征在于,所 述计算摘要信息码采用CRC32算法或MD5算法。
技术领域\n本发明涉及计算机数据处理技术领域,尤其涉及一种数据存储与检索的 方法及系统。\n背景技术\n随着社会经济的发展,信息系统越来越被广泛的应用在各类专业领域中。 信息系统最核心的实现功能就是对各类信息数据的检索、查询、分析和挖掘, 因此,能够否对海量数据进行更加快速有效的检索就成为衡量一个信息系统 性能和处理能力的最核心标准。\n现有技术对此类问题的解决主要集中在如何创建更有效的数据查询索 引,以便能够更快的从海量数据中查询出所需要的信息。在数据库中,索引 使数据库程序无须对整个表数据进行检索就可找到所需数据。数据库中的索 引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存 储位置。对数据表建立索引的方法包括:为表中的单个列建立索引,为多个 列建立索引。索引本身的查询算法包括多种类型,如最典型的B树索引算法。\n以一种告警系统为例,来说明现有技术的数据检索方法。一种告警系统, 采用多个字段进行数据定位,一条告警记录中使用设备信息、告警类别、告 警参数、告警状态这四个字段来唯一定位一条告警,当接收到一条恢复告警 时需要通过上述四个定位信息找到都有哪些告警符合条件能够被其恢复掉, 并且在找到后将这些告警的状态改为恢复状态。举例如下:系统首先收到设 备10.153.89.1发送的Ethernet 1/0/1接口上的linkdown告警,此告警的源设 备信息为10.153.89.1,告警类别为linkdown告警,告警参数为ifDesc=Ethernet 1/0/1,告警状态为未确认(unack)。之后系统由接收到10.153.89.1发送的 Ethernet 1/0/1接口上的linkup告警,则系统需要自动的根据设备信息 10.153.89.1,告警类别linkdown,告警参数为ifDesc=Ethernet 1/0/1及告警状 态unack查询到刚才的告警,并将其确认掉。\n原方案的处理性能非常不理想,测试结果如下:在iMC服务器PC(主 频2.8G(以上)、内存1.5G(以上)、硬盘80G(以上)、48倍速光驱、 100M网显卡支持分辨率1024*768)和iMC客户端PC(主频1.8G(以上)、 内存512MB(以上)、硬盘20GB(以上)、48倍速光驱、100M网卡、显 卡支持分辨率1024*768)采用该配置的情况下,测试结果如表1所示:\n表1\n\n从表1可看出,现有技术的数据检索方法,效率低下,数据检索占用过 多的系统时间,在数据量增大的情况下,单位时间内接收的告警数量随着数 据量的增大而直线减少,因而不能满足告警系统的快速反应与快速处理的要 求。\n所以,在现有技术中,如为报警记录中每个字段作一个索引表,则查找 某一报警记录需要同时查找四个索引表,然后再进行数据处理以得到待查找 报警记录的存储属性,其速度已经不能满足报警快速处理的需要。\n同样,在其他的数据库系统中,同样存在需要多字段组合检索,即根据 某几类分类条件进行检索或查询的情况下,传统的索引方法,检索效率低下 而影响数据库系统或信息系统整体性能的情形。\n发明内容\n针对现有技术中存在的问题,本发明提供了一种数据存储与检索方法, 本发明还提供一种基于该存储与检索方法的数据存储与检索系统,以达到提 高检索效率的目的。\n为了达到上述目的,本发明的数据存储方法,技术方案由如下方式实现:\n一种数据存储与检索方法,所存储的数据单元具有多个定位数据字段, 包括步骤:\n存储数据时,将所存储的数据单元中的所述定位数据字段聚合为一个数 据字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;\n检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据 字段并进行摘要计算获得其摘要信息码,并以所述摘要信息码进行所述待检 索数据单元的检索定位。\n一种数据存储与检索系统,所存储的数据单元具有多个定位数据字段, 其包括:\n存储模块:将所存储的数据单元中的所述定位数据字段聚合为一个数据 字段并进行摘要计算,获得与所述数据单元具有一一对应关系的摘要信息码;\n检索模块:将待检索数据单元中的所述定位数据字段聚合为一个数据字 段并进行摘要计算获得待检索数据单元中的摘要信息码,并以所述的摘要信 息码进行所述待检索数据单元的检索定位。\n本发明的有益效果在于,提高了检索的效率。使数据存储与检索系统的 存储与检索都变得方便与快捷。提高了整个数据存储与检索系统的性能,缩 短了系统响应时间。\n附图说明\n图1是本发明的数据存储与检索系统的模块结构示意图。\n图2是本发明的数据存储与检索方法实施例的流程图。\n图3是本发明实施例告警系统的检索过程示意图。\n图4是本发明实施例告警系统的数据存储与检索方法的流程图。\n具体实施方式\n为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 具体实施例进行详细描述。\n首先,本发明公开了一种数据存储与检索系统,且图1示出了该数据存 储与检索系统的一个优选实施例的模块结构示意图。\n本发明基本构思为,在所存储的数据单元具有多个定位数据字段的情况 下,所述系统将所述定位数据字段聚合为一个数据字段并计算其摘要信息码, 以作为该数据单元的检索定位信息。以告警系统为例,所存储的数据单元为 告警记录,其包括设备信息、告警类别、告警参数和告警状态四个字段,这 四个字段才能唯一确定一条告警,所以该四个字段为定位数据字段,将该四 个定位数据字段聚合为一个数据字段并计算其摘要信息码,以作为告警记录 的检索定位信息。\n如图1所示,本发明实施例的存储系统包括存储模块与检索模块,存储 模块与检索模块依据数据单元的摘要信息码为检索定位信息以检索数据。存 储模块:将所存储的数据单元中的定位数据字段聚合为一个数据字段并进行 摘要计算,获得与所存储的数据单元中具有一一对应关系的摘要信息码,例 如,将所述定位数据字段聚合为一个数据字段的方法可以为,将所述定位数 据字段的值连接为一个字符串;检索模块:将待检索数据单元中的所述定位 数据字段聚合为一个数据字段并进行摘要计算获得待检索数据单元中的摘要 信息码,并以所述的摘要信息码在所有数据存储单元库中进行所述待检索数 据单元的检索定位。\n在本发明的一个较佳的实施例中,所述的数据单元与摘要信息码的一 对应关系可存储于索引表中,索引表可以按照摘要信息码的顺序排列,以利 于今后的查找操作。输入一个数据单元时,将其摘要信息码和存储属性依顺 插入索引表;删除一个数据单元时,将其摘要信息码和存储属性从索引表中 删除。\n也就是说,在存储数据时,存储模块提取所述数据单元的定位数据字 段;将所述定位数据字段聚合为一个数据字段,计算所述需存储的数据单 元的摘要信息码;提取所述需存储的数据单元的存储属性,将所述存储属 性与摘要信息码的对应关系写入所述索引表;在检索数据时,检索模块提 取其定位数据字段;将所述定位数据字段聚合为一个数据字段,计算其摘 要信息码;在所述索引表中查找所述待检索数据单元的摘要信息码,获取 该摘要信息码对应的存储属性,并根据所述存储属性找到满足要求的所述 数据单元。\n此外,本发明的数据存储与检索方法,也可以不借助索引表,而利用摘 要信息码直接映射得到数据单元的存储属性(即存储地址),如通过哈希算 法,将摘要信息码映射于存储属性;执行检索时,在得到摘要信息码后,即 可直接映射得到数据单元的存储属性,加快了检索的速度。并且,对所述字 符串计算摘要信息码可根据需要使用CRC32算法、MD5算法或其它摘要计 算算法。\n例如,在应用于告警系统的存储系统中,可以将所述定位数据字段聚合 为一个数据字段的方法为,将所述定位数据字段的值连接为一个字符串。即 将设备信息、告警类别、告警参数和告警状态四个字段的字段值连接拼装成 一个字段,即连接为一个字符串,中间用“|”符号分割。如前面举例的linkdown 告警其全部定位信息拼接的字符串为“10.153.89.1|linkdown|ifDesc=Ethernet 1/0/1|unack”;当然,也可以采用截取每个字段值的前一定个数的字符拼装组 成字符串的方法;并且,假设,对所述字符串计算摘要信息码采用CRC32 算法,即对“10.153.89.1|linkdown|ifDesc=Ethernet 1/0/1|unack”这个字符串进 行CRC32摘要计算,其结果为“a03b3ece”。\n如图1所示,本发明实施例的系统中还包括执行模块,该执行模块对数 据单元和/或所述数据单元中的多个定位数据字段的信息,执行读取、删除和 /或修改的操作。也就是说,执行模块可以完成两种功能,一种功能是数据库 中的数据单元进行读取、删除和/或修改的操作,另一种功能是根据检索模块 的检索结果所述数据单元中的多个定位数据字段的信息,执行读取、删除和/ 或修改的操作。\n请参阅图2,图2是本发明的数据存储与检索方法实施例的流程图;该 方法将所存储的数据单元中的多个定位数据字段聚合为一个数据字段并计算 其摘要信息码,以作为该数据单元的检索定位信息。其中,在将数据单元存 储入数据存储单元库中时,将所述数据单元的定位数据字段聚合为一个数据 字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;检索数据 时,将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘 要计算获得其摘要信息码,并以所述的摘要信息码在所有数据存储单元库中 进行所述待检索数据单元的检索定位。\n具体地,所述的数据存储步骤包括:\n步骤S11:输入需存储的数据单元,并提取所述数据单元的定位数据字 段;\n步骤S12:将所述定位数据字段聚合为一个数据字段,计算所述需存储 的数据单元的摘要信息码;\n步骤S13:提取所述需存储的数据单元的存储属性,将所述存储属性与 摘要信息码的对应关系写入索引表;\n所述的检索数据步骤具体包括:\n步骤S21:输入待检索数据单元,并提取其定位数据字段;\n步骤S22:将所述定位数据字段聚合为一个数据字段,计算摘要信息码;\n步骤S23:在所述索引表中查找所述待检索数据单元的摘要信息码,获 取该摘要信息码对应的存储属性,并根据所述存储属性找到满足要求的所述 数据单元。\n并且,在所述的检索数据步骤后还包括:对所述数据单元中的多个定位 数据字段的信息,进行读取、删除和/或修改的操作。\n下面结合图3和图4并以告警系统为例来进一步说明解释本发明的数据 存储与检索方法。图3是告警系统的数据检索过程示意图;图4是告警系统 的数据存储与检索方法的流程示意图。\n在本实施例中,如图3所示,首先要建立告警系统的告警记录数据库, 在使用过程中,还需要维护告警记录数据库;其主要包括告警记录数据的输 入、存储和删除的操作。并且,在检索时,需进行告警记录数据的输入、检 索和修改(恢复)的操作。\n此外,在检索前,当接收到一条恢复告警时,还可以根据需要通过该告 警的告警源获取被恢复告警的告警源,根据告警恢复关系的查询,可定位被 其恢复告警的类型,如linkup告警恢复linkdown告警,即告警类型的字段 值为linkdown。通过定位数据字段的字段定义查询以确定需检索查询的数据 单元的该字段的定义。即根据告警定义的查询可获取告警恢复关系的定位参 数是哪些,如接口linkup\linkdown告警的定位参数为接口描述ifDesc。即 该字段的值为ifDesc=Ethernet 1/0/1。通过以上的字段值查询、恢复关系 查询和字段定义查询,可使用户得到一个完整的描述告警记录的各数据字段 取值,以进一步去完成数据检索的工作。\n下面以输入、检索和删除为例,介绍告警记录的操作流程。\n如图4所示,其告警记录数据的存储、检索和删除通过如下的流程实现:\n步骤S110:开始;\n步骤S130:输入待操作的告警记录;\n步骤S140:提取待操作的告警记录的定位数据字段,即设备信息、告警 类别、告警参数和告警状态;\n步骤S150:将设备信息、告警类别、告警参数和告警状态四个字段的字 段值连接拼装成一个字段,即连接为一个字符串,中间用“|”符号分割;\n步骤S160:用CRC32算法计算摘要信息码;\n从步骤S110到步骤S160为输入步骤,输入步骤是在存储或检索时共有 的操作,即将告警记录的信息传送于数据存储与检索系统。\n步骤S170:判断操作类型,如非输入(即为检索或删除)则转到S200; 其中,此处操作类型的可能选项为输入、检索和删除;\n步骤S180:将该告警记录存储;\n步骤S190:将存储属性与摘要信息码读入索引表,输入告警记录的操作 结束,所以转到300;\n步骤S200:在索引表中查找该摘要信息码;\n步骤S210:获取该摘要信息码对应的存储属性;\n步骤S220:判断操作类型,如为删除则转到230;此处的可能选项为删 除与检索;\n步骤S225:输出该数据单元的完整数据信息或作相应的检索响应;检索 操作结束,所以转到300;\n从步骤S200到步骤S225为检索和修改(或恢复)操作步骤,检索和修 改(或恢复)操作是在检索时的独有步骤。例如,当系统接收到linkup告警 时需要通过计算单元反向计算出被其恢复的告警数据的摘要码,即获取 linkup告警的设备源10.153.89.1作为被恢复告警设备源,通过linkup告警接 口描述Ethernet 1/0/1作为被恢复告警的接口描述,同时要求被恢复告警的状 态为unack,所以得出被恢复告警定为字符串为“10.153.89.1|linkdown|ifDesc= Ethernet 1/0/1|unack”,同样可计算出摘要码“a03b3ece”,然后根据这个摘要码 “a03b3ece”查找原来的linkdown告警,并且执行修改(或恢复)操作,则可 以大大提升查询效率。\n步骤S230:删除该存储属性中的告警记录;\n步骤S240:删除索引表中该摘要信息码,结束删除告警记录的操作;\n步骤S300:结束。\n从步骤S230到步骤S300为删除操作步骤,是在维护告警记录数据库时 的独有步骤,即将告警记录数据从告警记录数据库中删除。\n从上述流程和图3可以看出,当检索处理单元收到一条检索输入单元输 入的恢复告警后,根据恢复告警的设备信息、告警类别、告警参数、告警状 态采用同样的方法计算出被恢复告警的摘要码,然后根据这个摘要码作为定 位信息来找到哪些告警应该被恢复掉。\n采用本发明数据存储与检索方法的告警系统,可对原有方案中告警的处 理性能有极大提高,如与前述环境配置完全相同的情况下,性能测试如表2 所示:\n表2\n\n综上所述,本发明的数据存储与检索方法,在各种信息系统的分类查询 中都可存在有效的应用,如在某信息系统中用户经常性的根据某几类分类条 件进行查询,例如员工业绩管理系统中的员工姓名、工作任务名称、完成阶 段与合作者等分类条件,再如教学管理系统中的任课教师、授课地点、课程 名称以及系别班级等字段,则此时事先根据这几类分类条件计算好摘要码, 在查询时将用户的输入页转换为摘要信息,根据这一信息进行查询则效率可 大幅提升。\n以上所述仅为本发明的较佳可行实施例,所述实施例并非用以限制本实 发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同 结构变化,同理均应包含在本发明的保护范围内。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-09-24
|
2003-02-17
| | |
2
| |
2002-07-24
|
2000-05-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |