一种数据存储与检索的方法及系统的制作方法

文档序号:6610994阅读:198来源:国知局
专利名称:一种数据存储与检索的方法及系统的制作方法
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种数据存储与检索的方法及系统。
背景技术
随着社会经济的发展,信息系统越来越被广泛的应用在各类专业领域中。信息系统最核心的实现功能就是对各类信息数据的检索、查询、分析和挖掘,因此,能够否对海量数据进行更加快速有效的检索就成为衡量一个信息系统性能和处理能力的最核心标准。
现有技术对此类问题的解决主要集中在如何创建更有效的数据查询索引,以便能够更快的从海量数据中查询出所需要的信息。在数据库中,索引使数据库程序无须对整个表数据进行检索就可找到所需数据。数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。对数据表建立索引的方法包括为表中的单个列建立索引,为多个列建立索引。索引本身的查询算法包括多种类型,如最典型的B树索引算法。
以一种告警系统为例,来说明现有技术的数据检索方法。一种告警系统,采用多个字段进行数据定位,一条告警记录中使用设备信息、告警类别、告警参数、告警状态这四个字段来唯一定位一条告警,当接收到一条恢复告警时需要通过上述四个定位信息找到都有哪些告警符合条件能够被其恢复掉,并且在找到后将这些告警的状态改为恢复状态。举例如下系统首先收到设备10.153.89.1发送的Ethernet 1/0/1接口上的linkdown告警,此告警的源设备信息为10.153.89.1,告警类别为linkdown告警,告警参数为ifDesc=Ethernet1/0/1,告警状态为未确认(unack)。之后系统由接收到10.153.89.1发送的Ethernet 1/0/1接口上的linkup告警,则系统需要自动的根据设备信息10.153.89.1,告警类别linkdown,告警参数为ifDesc=Ethernet 1/0/1及告警状态unack查询到刚才的告警,并将其确认掉。
原方案的处理性能非常不理想,测试结果如下在iMC服务器PC(主频2.8G(以上)、内存1.5G(以上)、硬盘80G(以上)、48倍速光驱、100M网显卡支持分辨率1024*768)和iMC客户端PC(主频1.8G(以上)、内存512MB(以上)、硬盘20GB(以上)、48倍速光驱、100M网卡、显卡支持分辨率1024*768)采用该配置的情况下,测试结果如表1所示表1 从表1可看出,现有技术的数据检索方法,效率低下,数据检索占用过多的系统时间,在数据量增大的情况下,单位时间内接收的告警数量随着数据量的增大而直线减少,因而不能满足告警系统的快速反应与快速处理的要求。
所以,在现有技术中,如为报警记录中每个字段作一个索引表,则查找某一报警记录需要同时查找四个索引表,然后再进行数据处理以得到待查找报警记录的存储属性,其速度已经不能满足报警快速处理的需要。
同样,在其他的数据库系统中,同样存在需要多字段组合检索,即根据某几类分类条件进行检索或查询的情况下,传统的索引方法,检索效率低下而影响数据库系统或信息系统整体性能的情形。

发明内容
针对现有技术中存在的问题,本发明提供了一种数据存储与检索方法,本发明还提供一种基于该存储与检索方法的数据存储与检索系统,以达到提高检索效率的目的。
为了达到上述目的,本发明的数据存储方法,技术方案由如下方式实现一种数据存储与检索方法,所存储的数据单元具有多个定位数据字段,包括步骤
存储数据时,将所存储的数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算获得其摘要信息码,并以所述摘要信息码进行所述待检索数据单元的检索定位。
一种数据存储与检索系统,所存储的数据单元具有多个定位数据字段,其包括存储模块将所存储的数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算,获得与所述数据单元具有一一对应关系的摘要信息码;检索模块将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算获得待检索数据单元中的摘要信息码,并以所述的摘要信息码进行所述待检索数据单元的检索定位。
本发明的有益效果在于,提高了检索的效率。使数据存储与检索系统的存储与检索都变得方便与快捷。提高了整个数据存储与检索系统的性能,缩短了系统响应时间。


图1是本发明的数据存储与检索系统的模块结构示意图。
图2是本发明的数据存储与检索方法实施例的流程图。
图3是本发明实施例告警系统的检索过程示意图。
图4是本发明实施例告警系统的数据存储与检索方法的流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例进行详细描述。
首先,本发明公开了一种数据存储与检索系统,且图1示出了该数据存储与检索系统的一个优选实施例的模块结构示意图。
本发明基本构思为,在所存储的数据单元具有多个定位数据字段的情况下,所述系统将所述定位数据字段聚合为一个数据字段并计算其摘要信息码,以作为该数据单元的检索定位信息。以告警系统为例,所存储的数据单元为告警记录,其包括设备信息、告警类别、告警参数和告警状态四个字段,这四个字段才能唯一确定一条告警,所以该四个字段为定位数据字段,将该四个定位数据字段聚合为一个数据字段并计算其摘要信息码,以作为告警记录的检索定位信息。
如图1所示,本发明实施例的存储系统包括存储模块与检索模块,存储模块与检索模块依据数据单元的摘要信息码为检索定位信息以检索数据。存储模块将所存储的数据单元中的定位数据字段聚合为一个数据字段并进行摘要计算,获得与所存储的数据单元中具有一一对应关系的摘要信息码,例如,将所述定位数据字段聚合为一个数据字段的方法可以为,将所述定位数据字段的值连接为一个字符串;检索模块将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算获得待检索数据单元中的摘要信息码,并以所述的摘要信息码在所有数据存储单元库中进行所述待检索数据单元的检索定位。
在本发明的一个较佳的实施例中,所述的数据单元与摘要信息码的一一对应关系可存储于索引表中,索引表可以按照摘要信息码的顺序排列,以利于今后的查找操作。输入一个数据单元时,将其摘要信息码和存储属性依顺插入索引表;删除一个数据单元时,将其摘要信息码和存储属性从索引表中删除。
也就是说,在存储数据时,存储模块提取所述数据单元的定位数据字段;将所述定位数据字段聚合为一个数据字段,计算所述需存储的数据单元的摘要信息码;提取所述需存储的数据单元的存储属性,将所述存储属性与摘要信息码的对应关系写入所述索引表;在检索数据时,检索模块提取其定位数据字段;将所述定位数据字段聚合为一个数据字段,计算其摘要信息码;在所述索引表中查找所述待检索数据单元的摘要信息码,获取该摘要信息码对应的存储属性,并根据所述存储属性找到满足要求的所述数据单元。
此外,本发明的数据存储与检索方法,也可以不借助索引表,而利用摘要信息码直接映射得到数据单元的存储属性(即存储地址),如通过哈希算法,将摘要信息码映射于存储属性;执行检索时,在得到摘要信息码后,即可直接映射得到数据单元的存储属性,加快了检索的速度。并且,对所述字符串计算摘要信息码可根据需要使用CRC32算法、MD5算法或其它摘要计算算法。
例如,在应用于告警系统的存储系统中,可以将所述定位数据字段聚合为一个数据字段的方法为,将所述定位数据字段的值连接为一个字符串。即将设备信息、告警类别、告警参数和告警状态四个字段的字段值连接拼装成一个字段,即连接为一个字符串,中间用“|”符号分割。如前面举例的linkdown告警其全部定位信息拼接的字符串为“10.153.89.1|linkdown|ifDesc=Ethernet1/0/1|unack”;当然,也可以采用截取每个字段值的前一定个数的字符拼装组成字符串的方法;并且,假设,对所述字符串计算摘要信息码采用CRC32算法,即对“10.153.89.1|linkdown|ifDesc=Ethernet 1/0/1|unack”这个字符串进行CRC32摘要计算,其结果为“a03b3ece”。
如图1所示,本发明实施例的系统中还包括执行模块,该执行模块对数据单元和/或所述数据单元中的多个定位数据字段的信息,执行读取、删除和/或修改的操作。也就是说,执行模块可以完成两种功能,一种功能是数据库中的数据单元进行读取、删除和/或修改的操作,另一种功能是根据检索模块的检索结果所述数据单元中的多个定位数据字段的信息,执行读取、删除和/或修改的操作。
请参阅图2,图2是本发明的数据存储与检索方法实施例的流程图;该方法将所存储的数据单元中的多个定位数据字段聚合为一个数据字段并计算其摘要信息码,以作为该数据单元的检索定位信息。其中,在将数据单元存储入数据存储单元库中时,将所述数据单元的定位数据字段聚合为一个数据字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算获得其摘要信息码,并以所述的摘要信息码在所有数据存储单元库中进行所述待检索数据单元的检索定位。
具体地,所述的数据存储步骤包括步骤S11输入需存储的数据单元,并提取所述数据单元的定位数据字段;步骤S12将所述定位数据字段聚合为一个数据字段,计算所述需存储的数据单元的摘要信息码;步骤S13提取所述需存储的数据单元的存储属性,将所述存储属性与摘要信息码的对应关系写入索引表;所述的检索数据步骤具体包括步骤S21输入待检索数据单元,并提取其定位数据字段;步骤S22将所述定位数据字段聚合为一个数据字段,计算摘要信息码;步骤S23在所述索引表中查找所述待检索数据单元的摘要信息码,获取该摘要信息码对应的存储属性,并根据所述存储属性找到满足要求的所述数据单元。
并且,在所述的检索数据步骤后还包括对所述数据单元中的多个定位数据字段的信息,进行读取、删除和/或修改的操作。
下面结合图3和图4并以告警系统为例来进一步说明解释本发明的数据存储与检索方法。图3是告警系统的数据检索过程示意图;图4是告警系统的数据存储与检索方法的流程示意图。
在本实施例中,如图3所示,首先要建立告警系统的告警记录数据库,在使用过程中,还需要维护告警记录数据库;其主要包括告警记录数据的输入、存储和删除的操作。并且,在检索时,需进行告警记录数据的输入、检索和修改(恢复)的操作。
此外,在检索前,当接收到一条恢复告警时,还可以根据需要通过该告警的告警源获取被恢复告警的告警源,根据告警恢复关系的查询,可定位被其恢复告警的类型,如linkup告警恢复linkdown告警,即告警类型的字段值为linkdown。通过定位数据字段的字段定义查询以确定需检索查询的数据单元的该字段的定义。即根据告警定义的查询可获取告警恢复关系的定位参数是哪些,如接口linkup\linkdown告警的定位参数为接口描述ifDesc。即该字段的值为ifDesc=Ethernet 1/0/1。通过以上的字段值查询、恢复关系查询和字段定义查询,可使用户得到一个完整的描述告警记录的各数据字段取值,以进一步去完成数据检索的工作。
下面以输入、检索和删除为例,介绍告警记录的操作流程。
如图4所示,其告警记录数据的存储、检索和删除通过如下的流程实现步骤S110开始;
步骤S130输入待操作的告警记录;步骤S140提取待操作的告警记录的定位数据字段,即设备信息、告警类别、告警参数和告警状态;步骤S150将设备信息、告警类别、告警参数和告警状态四个字段的字段值连接拼装成一个字段,即连接为一个字符串,中间用“|”符号分割;步骤S160用CRC32算法计算摘要信息码;从步骤S110到步骤S160为输入步骤,输入步骤是在存储或检索时共有的操作,即将告警记录的信息传送于数据存储与检索系统。
步骤S170判断操作类型,如非输入(即为检索或删除)则转到S200;其中,此处操作类型的可能选项为输入、检索和删除;步骤S180将该告警记录存储;步骤S190将存储属性与摘要信息码读入索引表,输入告警记录的操作结束,所以转到300;步骤S200在索引表中查找该摘要信息码;步骤S210获取该摘要信息码对应的存储属性;步骤S220判断操作类型,如为删除则转到230;此处的可能选项为删除与检索;步骤S225输出该数据单元的完整数据信息或作相应的检索响应;检索操作结束,所以转到300;从步骤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告警,并且执行修改(或恢复)操作,则可以大大提升查询效率。
步骤S230删除该存储属性中的告警记录;步骤S240删除索引表中该摘要信息码,结束删除告警记录的操作;
步骤S300结束。
从步骤S230到步骤S300为删除操作步骤,是在维护告警记录数据库时的独有步骤,即将告警记录数据从告警记录数据库中删除。
从上述流程和图3可以看出,当检索处理单元收到一条检索输入单元输入的恢复告警后,根据恢复告警的设备信息、告警类别、告警参数、告警状态采用同样的方法计算出被恢复告警的摘要码,然后根据这个摘要码作为定位信息来找到哪些告警应该被恢复掉。
采用本发明数据存储与检索方法的告警系统,可对原有方案中告警的处理性能有极大提高,如与前述环境配置完全相同的情况下,性能测试如表2所示表2 综上所述,本发明的数据存储与检索方法,在各种信息系统的分类查询中都可存在有效的应用,如在某信息系统中用户经常性的根据某几类分类条件进行查询,例如员工业绩管理系统中的员工姓名、工作任务名称、完成阶段与合作者等分类条件,再如教学管理系统中的任课教师、授课地点、课程名称以及系别班级等字段,则此时事先根据这几类分类条件计算好摘要码,在查询时将用户的输入页转换为摘要信息,根据这一信息进行查询则效率可大幅提升。
以上所述仅为本发明的较佳可行实施例,所述实施例并非用以限制本实发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
权利要求
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算法。
全文摘要
一种数据存储与检索的方法及系统,所存储的数据单元具有多个定位数据字段,存储数据时,将所存储数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算,获得与其具有一一对应关系的摘要信息码;检索数据时,将待检索数据单元中的所述定位数据字段聚合为一个数据字段并进行摘要计算获得其摘要信息码,并以所述摘要信息码进行所述待检索数据单元的检索定位。所述系统包括数据存储模块与数据检索模块。因此,本发明极大地提高了数据检索的效率。
文档编号G06F17/30GK101079074SQ20071012980
公开日2007年11月28日 申请日期2007年7月26日 优先权日2007年7月26日
发明者丁文涛 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1