分布式网络感知信息存储和查询系统的制作方法

文档序号:6541450阅读:133来源:国知局
分布式网络感知信息存储和查询系统的制作方法
【专利摘要】本发明公开了一种分布式网络感知信息存储和查询系统,包括用户操作界面、接口层、执行层和存储层;用户操作界面:完成用户与系统的交互,用户通过用户操作界面进行动态信息和静态信息的存储和查询操作;接口层:接收或提交用户存储或查询的网络感知信息,并识别用户操作指令,包括查询接口和存储接口;执行层:解析上层的数据访问请求,将其转化为系统的内部请求进行处理,包括:弱读取接口、定位读取接口、识别接口、弱写入接口、强写入接口和读修复接口,其中,定位读取接口、识别接口是在Cassandra原有接口的基础上新添加的接口;存储层:用于保存动态信息和静态信息。本系统降低了系统负载和网络开销、提高了对网络感知信息的存储效率。
【专利说明】分布式网络感知信息存储和查询系统
【技术领域】
[0001]本发明涉及数据的存储和查询,具体的来说网络感知信息基于一个分布式系统Cassandra的数据存储和查询系统。
【背景技术】
[0002]在当前的互联网中,针对网络管理、网络安全等目标,需要对互联网实施各种网络性能测量,流量测量,故障监测等,同时也需要对网络中的应用业务进行感知测量。然而,在未来网络中,网络感知不仅是网络具备的基本能力,更应该作为创新的网络服务与应用。当网络感知的内涵从资源感知、状态感知扩展到内容感知,应用感知,位置感知,情境感知等后,各种感知服务将给网络创新和应用创新带来强大的推动力。当层出不穷的各种感知服务在未来网络中涌现的时候,也必将产生多源、异构、海量的感知服务信息。而面向未来网络的创新和应用的创新,如何高效地组织、管理和应用这些感知服务信息,显然,现有互联网中针对网络管理应用开发的基于SNMP的管理者/代理模型,难以有效地解决这些问题,现有的关系型数据库也不能满足海量、多样性的网络感知信息的存储,同样不能适应未来网络中海量新型感知服务与应用的需求。因此,针对未来网络的感知服务与应用,基于Clean-slate的思想,研究新型的网络感知存储和查询系统,可以有力地促进未来互联网领域的研究与应用创新,具有重要的科学研究意义。

【发明内容】

[0003]针对以上现有技术中的不足,本发明的目的在于提供一种降低了系统负载和网络开销、提高了对网络感知信息的存储效率的分布式网络感知信息存储和查询系统,本发明的技术方案如下:一种分布式网络感知信息存储和查询系统,其包括用户操作界面、接口层模块、执行层模块和存储层模块;所述用户操作界面与接口层模块相连接,所述接口层模块与执行层模块相连接,所述执行层模块与存储层模块相连接;其中
[0004]用户操作界面:用于完成用户与系统的交互,用户通过用户操作界面进行网络感知信息的存储和查询操作并向接口层模块发送操作指令;其中所述网络感知信息包括动态信息和静态信息;
[0005]接口层模块:用于接收或提交用户存储或查询的网络感知信息,并识别用户操作指令,包括查询接口和存储接口,通过查询接口和存储接口将操作指令转发给执行层模块;
[0006]执行层模块:用于解析接口层模块转发而来的操作指令,将其转化为系统的内部请求进行处理,执行层模块包括:弱读取接口、定位读取接口、识别接口、弱写入接口、强写入接口和读修复接口,其中,定位读取接口、识别接口是在Cassandra原有接口的基础上新添加的接口;
[0007]存储层:用于保存动态信息和静态信息,并被执行层模块调用。
[0008]进一步的,所述网络感知信息的静态信息和动态信息采用标识布尔变量来区分。[0009]进一步的,当对网络感知信息进行查询时,对动态信息采取Cassandra原有的弱读取,而对静态信息采取定位读取,其中定位读取通过Cassandra自带的RingCache函数和全局路由表来读取。
[0010]本发明的优点及有益效果如下:
[0011]1.本发明网络感知信息的分类识别。本系统将未来互联网中海量、多源、异构的网络感知信息,根据其各自不同的特点,划分为了动态信息和静态信息,并通过标识布尔变量的方法对静态信息和动态信息进行区分;
[0012]2.网络感知信息的分类存储。本系统对动态信息和静态信息分别采取级别不同的一致性写入策略、备份策略和备份数。通过创建配置不同的KeySpace和调用不同的一致性写入策略,提高了对网络感知信息的存储效率;
[0013]3.网络感知信息的分类查询。本系统对动态信息和静态信息分别采取级别不同的一致性读取策略。其中,对动态信息调用弱读取策略,而对静态信息调用改进的“定位读取”策略,提高了对网络感知信息的查询效率;
[0014]4.静态信息的“定位读取”策略。相较于Cassandra原有的弱读取策略,该策略能够更快的查询到被请求的静态信息,同时还减少了 Cassandra集群中节点之间不必要的交互,降低了系统负载和网络开销。
【专利附图】

【附图说明】
[0015]图1是Cassandra的数据模型;
[0016]图2动态信息的数据模型;
[0017]图3静态信息的数据模型;
[0018]图4网络感知信息的存储流程图;
[0019]图5全局路由表的结构图;
[0020]图6网络感知信息的查询流程图;
[0021]图7定位读取策略的流程图;
[0022]图8是本发明优选实施例分布式网络感知信息存储和查询系统结构示意图。【具体实施方式】
[0023]下面结合附图给出一个非限定性的实施例对本发明作进一步的阐述。
[0024]参照图1-图8所示,1.数据模型的设计=Cassandra的原有数据模型类似于一个四维或五维的HashMap如图1所示。Column是Cassandra的最小数据单元,它由三个元素组成:name (属性名)、value (值)、timestamp (时间戳),其中name和value都是Java中的byte[]类型,timestamp的数据是Cassandra自动生成的,用来记录数据的写入时间;SuperColumn 为 Column 的数组,包含一个 name 和多个相应的 Column ;ColumnFamiIy 是一个包含了许多Row (行)的结构,相当于数据库中的表,Row是由Key (键值)以及与这个Key相关联的Column组成;Keyspace包含多个ColumnFamiIy,并且可以指定所存数据的备份策略和备份数。
[0025]在网络感知信息中,动态信息是指网络中经常变化的信息,如时延、流量等,此类数据一般数据量较大;静态信息是指较长时间内不会发生变化的信息,如用户兴趣、服务内容等,此类数据一般数据量相对较小。动态信息和静态信息分别以流量信息和服务信息为实例加以说明,其各自的数据模型分别如图2和图3所示。
[0026]2.网络感知信息的分类识别
[0027]本系统会事先对动态信息和静态信息进行分类定义,并采用布尔变量标识的方法对静态信息和动态信息进行区分。举例说明,当有用户对流量信息提出写入请求时,本系统会匹配该条流量信息数据模型中ColumnFamily的值Flow,因为字段Flow事先被系统定义为动态信息,所以本系统会给该条流量信息加上布尔型变量“ I ”进行标识,然后交给本系统执行层中的弱写入接口进行处理。
[0028]3.网络感知信息的分类存储
[0029]分布式网络感知信息存储和查询系统对动态信息和静态信息分别采取级别不同的一致性写入策略、备份策略和备份数。
[0030]在网络感知信息的备份方面,针对动态信息和静态信息的不同特点,本系统在Cassandra的storage-conf.xml文件中创建了两个Keyspace,并分别在两个Keyspace中的〈ReplicaPlacementStrategy〉和〈ReplicationFactor〉两项属性指定了不同的备份策略和备份数,以实现对动态信息和静态信息级别不同的备份。
[0031]在网络感知信息的写入方面,当有用户对本系统发出写入请求时,本系统会对动态信息调用级别为ONE的一致性写入策略,而对静态信息调用级别为QUORUM的一致性写入策略,来完成对动态信息和静态信息的区别写入。
[0032]网络感知信息的分类存储步骤如下,具体流程如图4所示:
[0033]1.当本系统有数据写入时,先通过该信息布尔变量的值判断是否属于动态信息,若是转步骤2,否则转步骤3 ;
[0034]2.采用级别为ONE的一致性写入策略、低级别的备份策略和备份数,把该数据写入Cassandra集群,更新数据结束;
[0035]3.采用级别为QUORUM的一致性写入策略、高级别的备份策略和备份数,把该数据写入Cassandra集群,更新数据结束。
[0036]4.网络感知信息的分类查询
[0037]分布式网络感知信息存储和查询系统对动态信息采取弱读取策略;而对静态信息采取基于Cassandra原有的弱读取策略改进而来的“定位读取”策略。
[0038]网络感知信息的分类查询的步骤如下,具体流程如图5所示:
[0039]1.当由用户对分布式网络感知信息存储系统中的网络感知信息提出查询请求时,先查看该信息上布尔型变量的值,判定其是否属于动态信息,若是转步骤2,否则转步骤3 ;
[0040]2.使用Cassandra原有的弱读取策略对用户请求的数据进行查询,转步骤4 ;
[0041]3.通过定位读取对用户请求的数据进行查询,转步骤4 ;
[0042]4.将查询结果或者出错信息返回给用户,查询过程结束。
[0043]5.静态信息的“定位读取”策略
[0044]Cassandra原有的读取流程如下:
[0045]1.客户端将用户的读取请求随机发送给Cassandra集群中的一个节点;
[0046]2.接收到读取请求的节点会判断需要查询的数据是否在本机中,如果在本机中,对被查询数据进行异步读取;如果不在本机中,将请求发送给另外一个节点进行查询,等待该节点的应答结果,之后将应答结果返回给客户端。
[0047]可以看到,Cassandra的查询流程中,如果客户端将数据查询的请求发送给了一个没有该数据的节点,那么这个不相关的节点就冲当了一个代理的角色。倘若客户端每次都能定位到存有被查询数据的Cassandra节点,并将查询请求直接发送给该节点,这样就省掉了中间那些不必要的转发用户请求的代理节点,减少了 Cassandra集群中节点之间的交互。
[0048]因此分布式网络感知信息存储系统对Cassandra原有的弱读取策略进行了改进,采用“定位读取”策略,可以使客户端每次查询都能直接找到Cassandra集群中存有被查询数据的节点,这样便可以大大地提高分布式网络感知信息存储系统对网络感知信息尤其是静态信息的查询效率。
[0049]“定位读取”策略先调用Cassandra自带的RingCache,来快速地找到被查询数据所在的目标节点。因为静态信息在分布式网络感知信息存储系统中存在多个备份,所以系统需要维护一张系统的“全局路由表”,来掌握系统中所有节点与客户端的时延信息,全局路由表的格式如图5所示。然后通过“全局路由表”对比计算出距离客户端时延最短的目标节点。
[0050]因为本系统中的各节点状态会出现发生故障、新节点加入等行为,需要系统对全局路由表的内容进行更新,全局路由表更新的具体策略为:当客户端通
[0051]“定位读取”策略的具体流程如图7所示。
[0052]6.静态信息的读修复
[0053]“定位读取”策略可能导致数据的不一致。由于动态信息更新频繁,弱读取策略对动态信息的可用性影响较小,反之,弱读取策略对静态信息的可用性影响则较大,因此系统同时还会通过Cassandra提供的读修复功能来修复过期的静态信息,使之更新,从而保证静态信息的一致性。读修复会消耗系统资源,Cassandra可以为每一个ColumnFamily进行读修复概率的单独配置。
[0054]分布式网络感知信息存储系统对静态信息的读修复操作频率的配置为read_repair_chance:0.1,其中的数字“0.1”表示每进行10次静态信息的读取操作便进行I次读修复操作。
[0055]7.全局路由表的维护
[0056]因为分布式网络感知信息存储和查询系统中的各节点可能发生故障、新节点加入等情况,这就需要系统对全局路由表的内容进行更新。但是,更新路由表是很占用系统资源的,因此必须对全局路由表的更新频率制定合理的策略。
[0057]全局路由表更新的具体策略为:
[0058]1.当客户端通过定位查询“最近”节点进行数据请求时,该节点无响应,则视该节点发生故障,此时系统对全局路由表进行更新;
[0059]2.当分布式网络感知信息存储系统的管理员得知有新节点加入集群时,对全局路由表进行更新。
[0060]优选的,参照图8所示为,一种分布式网络感知信息存储和查询系统,其特征在于:包括用户操作界面、接口层模块、执行层模块和存储层模块;所述用户操作界面与接口层模块相连接,所述接口层模块与执行层模块相连接,所述执行层模块与存储层模块相连接;其中用户操作界面:用于完成用户与系统的交互,用户通过用户操作界面进行网络感知信息的存储和查询操作并向接口层模块发送操作指令;其中所述网络感知信息包括动态信息和静态信息;接口层模块:用于接收或提交用户存储或查询的网络感知信息,并识别用户操作指令,主要包括查询接口和存储接口,通过查询接口和存储接口将操作指令转发给执行层模块;执行层模块:用于解析接口层模块转发而来的操作指令,将其转化为系统的内部请求进行处理,执行层模块主要包括:弱读取接口、定位读取接口、识别接口、弱写入接口、强写入接口和读修复接口,其中,定位读取接口、识别接口是在Cassandra原有接口的基础上新添加的接口 ;存储层:用于保存动态信息和静态信息,并被执行层模块调用。
[0061]以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
【权利要求】
1.一种分布式网络感知信息存储和查询系统,其特征在于:包括用户操作界面、接口层模块、执行层模块和存储层模块;所述用户操作界面与接口层模块相连接,所述接口层模块与执行层模块相连接,所述执行层模块与存储层模块相连接;其中 用户操作界面:用于完成用户与系统的交互,用户通过用户操作界面进行网络感知信息的存储和查询操作并向接口层模块发送操作指令;其中所述网络感知信息包括动态信息和静态信息; 接口层模块:用于接收或提交用户存储或查询的网络感知信息,并识别用户操作指令,包括查询接口和存储接口,通过查询接口和存储接口将操作指令转发给执行层模块; 执行层模块:用于解析接口层模块转发而来的操作指令,将其转化为系统的内部请求进行处理,执行层模块包括:弱读取接口、定位读取接口、识别接口、弱写入接口、强写入接口和读修复接口,其中,定位读取接口、识别接口是在Cassandra原有接口的基础上新添加的接口 ; 存储层:用于保存动态信息和静态信息,并被执行层模块调用。
2.根据权利要求1所述的分布式网络感知信息存储和查询系统,其特征在于:所述网络感知信息的静态信息和动态信息采用标识布尔变量来区分。
3.根据权利要求1所述的分布式网络感知信息存储和查询系统,其特征在于:当对网络感知信息进行查询时,对动态信息采取Cassandra原有的弱读取,而对静态信息采取定位读取,其中定位读取通过Cassandra自带的RingCache函数和全局路由表来读取。
【文档编号】G06F17/30GK103886075SQ201410110831
【公开日】2014年6月25日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】赵国锋, 刘秀秀, 郑宇统, 张宇 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1