《基于雪崩切割的呼叫日志的分布式存储方法.pdf》由会员分享,可在线阅读,更多相关《基于雪崩切割的呼叫日志的分布式存储方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102662978 A(43)申请公布日 2012.09.12CN102662978A*CN102662978A*(21)申请号 201210064626.X(22)申请日 2012.03.13G06F 17/30(2006.01)(71)申请人网经科技(苏州)有限公司地址 215021 江苏省苏州市工业园区国际科技园一期1630单元(72)发明人邵兵 周磊 谢炜 刘继明林恩峰(74)专利代理机构南京苏科专利代理有限责任公司 32102代理人王玉国 陈忠辉(54) 发明名称基于雪崩切割的呼叫日志的分布式存储方法(57) 摘要本发明提供一种基于雪崩切割的呼叫日志的分布式。
2、存储方法,在分布式呼叫日志存储中基于雪崩切割原理,通过哈希算法负责均衡负载利用雪崩效应迅速定位获取数据并切割呼叫日志的数据在主从数据库中备份共享。在基于数据库雪崩切割的基础上通过上层数据库代理,在非数据库主机上虚拟的操作数据库的实际数据,使得各地数据库中的呼叫日志相互共享;将雪崩效应应用于呼叫中心呼叫日志的查询,其经过哈希算法后的一次查询相比之前的简单数据库查询显著提高了效率,大大节省了时间。(51)Int.Cl.权利要求书1页 说明书5页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 1 页 说明书 5 页 附图 3 页1/1页21.基于雪崩切割的呼叫日志的分布。
3、式存储方法,其特征在于:在分布式呼叫日志存储中基于雪崩切割原理,通过哈希算法负责均衡负载利用雪崩效应迅速定位获取数据并切割呼叫日志的数据在主从数据库中备份共享。2.根据权利要求1所述的基于雪崩切割的呼叫日志的分布式存储方法,其特征在于:哈希算法是将任意长度的二进制值映射为固定长度的较小二进制值,小的二进制值称为哈希值,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果散列一段明文而且只更改段落的一个字母,随后的哈希都将产生不同的值,要找到散列为同一个值的两个不同的输入,在计算上是不可能的,数据的哈希值检验数据的完整性,哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有。
4、限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,表称为哈希表或散列,所得存储位置称为哈希地址或散列地址,雪崩哈希切割是基于哈希算法而产生雪崩效应的快速查找而进行切割转移;在分布式呼叫中心系统中,其数据库共享是通过主备数据库间的同步备份来完成,采用哈希算法达到雪崩效应及时获取查询结果,想要查询的时候一次通过雪崩哈希切割的方法快速查询获取到数据,之后通过数据库切割转移到分部数据库中,分部产生的呼叫日志记录,也经此方法在总部机器查询时传回总部,查则转移。3.根据权利要求2所述的基于雪崩切割的呼叫日志的分布式存储方法,其特征在于:所述的数据库切割采用数据库的水平切割和垂直切割,水平。
5、切割是根据一列或多列数据的值将数据行放到两个独立的表中;垂直切割是将主码和一些列放到一个表,然后将主码和另外的列放到另一个表中。4.根据权利要求1所述的基于雪崩切割的呼叫日志的分布式存储方法,其特征在于:某一客户端通过web查询某一电话的呼叫日志记录,向后台数据库发起请求,此请求经哈希计算产生雪崩效应的查询,快速定位到该呼叫记录所处节点数据库服务器,通过数据库切割,获得的某一行或者某一列数据切割出来发送至客户端呈现给客户。权 利 要 求 书CN 102662978 A1/5页3基于雪崩切割的呼叫日志的分布式存储方法技术领域0001 本发明涉及一种基于雪崩切割的呼叫日志的分布式存储方法,属于数据。
6、库技术领域。背景技术0002 随着Internet的发展,互联网业务的应用越来越广泛,基于互联网的新型呼叫中心:不是简单地把互联网信息提供给呼叫中心,而是将呼叫中心与互联网集成为一体,用户可以从Web 站点直接进入呼叫中心,用点击按钮的方式实现与对方通话,当然远端可以用IP 电话,也可做文本交互(如白板功能),一切Internet上的功能都可结合为一体共同使用,如Email、IP传真。由于IP电话、IP传真、Email的价格便宜,使得这种呼叫中心为大的跨国公司建立环球服务中心成为可能,用户不用800号也可全天候呼叫,企业少了800 号的电话费用。现在已有大公司试建立了环球呼叫中心,而且一般选在。
7、第三世界低工资水平国家,企业可以把成本降到最低,而这些国家也可以获得更多的就业机会。0003 随着呼叫中心业务规模的增长,坐席数目急速攀升,便于有些大企业总部、分部不在同一地区而又能共享数据开展业务,结合计算数学领域的哈希算法以及数据库领域的切割技术,并有效运用雪崩效应的临界情况而达到快速查询准确定位直接提取的效果。0004 呼叫日志记录着客户的电话信息和呼入时间,建立良好的呼叫日志记录存储,能够方便厂家对客户反馈的意见及建议,咨询迅速查找到客户电话进行电话服务,也可主动外呼客户推销产品以及服务。发明内容0005 本发明针对分布式呼叫中心日志查询转存储,提供一种基于雪崩切割的呼叫日志的分布式存。
8、储方法。0006 本发明的目的通过以下技术方案来实现:基于雪崩切割的呼叫日志的分布式存储方法,特点是:在分布式呼叫日志存储中基于雪崩切割原理,通过哈希算法负责均衡负载利用雪崩效应迅速定位获取数据并切割呼叫日志的数据在主从数据库中备份共享。0007 进一步地,上述的基于雪崩切割的呼叫日志的分布式存储方法,哈希算法是将任意长度的二进制值映射为固定长度的较小二进制值,小的二进制值称为哈希值,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果散列一段明文而且只更改段落的一个字母,随后的哈希都将产生不同的值,要找到散列为同一个值的两个不同的输入,在计算上是不可能的,数据的哈希值检验数据的完整性,哈希表是。
9、根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,表称为哈希表或散列,所得存储位置称为哈希地址或散列地址,作为线性数据结构与表格和队列等相比,哈希表是查找速度比较快的一种,雪崩哈希切割是基于哈希算法而产生雪崩效应的快速查找而进行切割转移;说 明 书CN 102662978 A2/5页4在分布式呼叫中心系统中,其数据库共享是通过主备数据库间的同步备份来完成,采用哈希算法达到雪崩效应及时获取查询结果,想要查询的时候一次通过雪崩哈希切割的方法快速查询获取到数据,之后通过数据库切割转移到分部数据库中,分部产生的呼叫日。
10、志记录,也经此方法在总部机器查询时传回总部,查则转移。0008 更进一步地,上述的基于雪崩切割的呼叫日志的分布式存储方法,所述的数据库切割采用数据库的水平切割和垂直切割,水平切割是根据一列或多列数据的值将数据行放到两个独立的表中;垂直切割是将主码和一些列放到一个表,然后将主码和另外的列放到另一个表中。0009 再进一步地,上述的基于雪崩切割的呼叫日志的分布式存储方法,某一客户端通过web查询某一电话的呼叫日志记录,向后台数据库发起请求,此请求经哈希计算产生雪崩效应的查询,快速定位到该呼叫记录所处节点数据库服务器,通过数据库切割,获得的某一行或者某一列数据切割出来发送至客户端呈现给客户。0010。
11、 本发明技术方案突出的实质性特点和显著的进步主要体现在:在分布式呼叫中心系统的部署中,为使整个大网络下的各主机能够共享呼叫日志,以便能够及时处理来至各地的呼叫,从呼叫日志共享数据库中得到呼入和呼出的电话记录,方便及时跟踪订单;本发明方法在基于数据库雪崩切割的基础上通过上层数据库代理,在非数据库主机上虚拟的操作数据库的实际数据,使得各地数据库中的呼叫日志相互共享。将雪崩效应应用于呼叫中心呼叫日志的查询,其经过哈希算法后的一次查询相比之前的简单数据库查询显著提高了效率,大大节省了时间。附图说明0011 下面结合附图对本发明技术方案作进一步说明:图1:基于雪崩切割的数据流程示意图;图2:服务实例(节。
12、点)的配置hash运算示意图;图3:增加服务(节点node5)后的配置hash运算示意图。具体实施方式0012 基于雪崩切割的呼叫日志分布式存储方法,涉及高效哈希算法、数据库切割,哈希算法中达到最好效果时产生雪崩效应利于快速定位到所要查找的数据位置,及时将其从数据库中切割出来。雪崩切割是将雪崩哈希应用到数据库切割领域。哈希的基本原理通常使用的方法是根据 key的哈希值%服务器数取余数的方法来决定当前这个key的内容发往哪一个服务器,这里会涉及到一个哈希算法的分布问题,哈希的原理用一句话解释就是两个集合间的映射关系函数,通常的应用中基本上可以理解为在集合A(任意字母数字等组合,此处为存储用的ke。
13、y)里的一条记录去查找集合B(如0-232)中的对应记录。显然在应用中集合A的记录应该更均匀的分布在集合B的各个位置,这样才能尽量避免数据被分布发送到单一的服务器上,在danga的memcached的原始版本(perl)中使用的是crc32的算法,后来出了改进算法。经过测试,随机选择的key在服务器数量为5的时候所有key在服务器群组上的分布概率如下表1所示:表1说 明 书CN 102662978 A3/5页5显然使用旧的crc32算法会导致第三个memcached服务的负载更高,但使用新算法会让服务之间的负载更加均衡。0013 上述的基于雪崩切割的呼叫日志的分布式存储方法,其中:所述的数据库。
14、切割采用数据库的水平切割和垂直切割。水平切割:根据一列或多列数据的值把数据行放到两个独立的表中。水平切割通常在下面的情况下使用:A表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。B 表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。C需要把数据存放到多个介质上。垂直切割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直切割,另外垂直切割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O 次数。
15、。其缺点是需要管理冗余列,查询所有数据需要join操作。0014 呼叫日志为OfficeTenCC系统中的呼叫中心的日志记录,通过基于雪崩切割将其从各数据库中快速定位并转存储到需要该记录的数据库中。0015 哈希采用一致性哈希(Consistent Hashing)。一致性哈希解决了在P2P环境中最为关键的问题,如何在动态的网络拓扑中分布存储和路由。每个节点仅需维护少量相邻节点的信息,并且在节点加入/退出系统时,仅有相关的少量节点参与到拓扑的维护中,所有这一切使得一致性哈希成为第一个实用的DHT(分布式哈希表)算法。0016 如图1所示,基于雪崩切割的呼叫日志的分布式存储方法的基本流程为:某一。
16、客户端通过web查询某一电话的呼叫日志记录,向后台数据库发起请求,此请求经哈希计算产生雪崩效应的查询,快速定位到该呼叫记录所处节点数据库服务器,通过数据库切割(水平切割或者垂直切割)将获得的某一行或者某一列数据切割出来发送至客户端呈现给客户。0017 一致性哈希产生雪崩效应:采用了一种新的方式来解决问题,处理服务器的选择不再仅仅依赖key的hash本身而是将服务实例(节点)的配置也进行hash运算。 0018 如图2所示,服务实例(节点)的配置hash运算,首先求出每个服务节点的hash,并将其配置到一个0232的圆环(continuum)区间上。其次使用同样的方法求出,所需要存储的key的h。
17、ash,也将其配置到这个圆环(continuum)上;然后从数据映射到的位置开说 明 书CN 102662978 A4/5页6始顺时针查找,将数据保存到找到的第一个服务节点上,如果超过232仍然找不到服务节点,就会保存到第一个memcached服务节点上。0019 当增加服务节点时如图3所示,增加服务(节点node5)后的配置hash运,增加服务节点后,如图中node5,从图3中看出,只有在圆环上增加服务节点的位置为逆时针方向的第一个服务节点上的键会受到影响,最大程度的避免了key在服务节点列表上的重新分布。0020 一致性哈希算法最大程度的避免了key在服务节点列表上的重新分布,其他附带的改。
18、进就是有的一致性哈希算法还增加了虚拟服务节点的方法,也就是一个服务节点在环上有多个映射点,这样就能抑制分布不均匀,最大限度地减小服务节点增减时的缓存重新分布。0021 但是这种算法方法存在致命问题,如果某一台机器宕机,那么应该落在该机器的请求就无法得到正确的处理,这时需要将当掉的服务器从算法从去除,此时候会有(N-1)/N的服务器的缓存数据需要重新进行计算。具体解释如下:为何是 (N-1)/N 呢?解释如下:比如有 3 台机器,hash值 1-6 在这3台上的分布就是:host 1: 1 4host 2: 2 5host 3: 3 6如果挂掉一台,只剩两台,模数取 2 ,那么分布情况就变成:h。
19、ost 1: 1 3 5host 2: 2 4 6可以看到,还在数据位置不变的只有2个: 1,2,位置发生改变的有4个,占共6个数据的比率是 4/6 = 2/3这样的话,受影响的数据太多了,势必太多的数据需要重新从 DB 加载到 cache 中,严重影响性能。0022 上面提到的 hash 取模,模数取的比较小,一般是负载的数量,而 一致性哈希算法的本质是将模数取的比较大,为 2的32次方减1,即一个最大的 32 位整数。然后,就可以从容的安排数据导向。0023 上面描述的过程解决了如何在动态的网络拓扑中将呼叫日志记录分布存储和路由。在实际的使用中,总部与各分部中采用Internet(互联网)。
20、或者VPN(Virtual Private Network虚拟专用网络)连接,共享各数据库中的呼叫日志记录。0024 雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,指明文或密钥的少量变化会引起密文的很大变化,就像雪崩前,山上看上去很平静,但是只要有一 点问题,就会造成一片大崩溃。对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。将雪崩效应应用于呼叫中心呼叫日志的查询,其经过哈希算法后的一次查询相比之前的简单数据库查询显著提高了效率,大大节省了时间。0025 在目前的分布式呼叫中心系统中,较难做到将各地大数据量的呼叫日志通过主从备份的方式在整个网络共享。本发明方法。
21、在分布式呼叫中心系统的部署中,为使整个大网络下的各主机能够共享呼叫日志,以便能够及时处理来至各地的呼叫,从呼叫日志共享数据库中得到呼入和呼出的电话记录,方便及时跟踪订单;本发明方法在基于数据库雪崩切说 明 书CN 102662978 A5/5页7割的基础上通过上层数据库代理,在非数据库主机上虚拟的操作数据库的实际数据,使得各地数据库中的呼叫日志相互共享。0026 需要理解到的是:以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说 明 书CN 102662978 A1/3页8图1说 明 书 附 图CN 102662978 A2/3页9图2说 明 书 附 图CN 102662978 A3/3页10图3说 明 书 附 图CN 102662978 A10。