CN110839083A - 话单推送方法及装置 - Google Patents
话单推送方法及装置 Download PDFInfo
- Publication number
- CN110839083A CN110839083A CN201911131965.3A CN201911131965A CN110839083A CN 110839083 A CN110839083 A CN 110839083A CN 201911131965 A CN201911131965 A CN 201911131965A CN 110839083 A CN110839083 A CN 110839083A
- Authority
- CN
- China
- Prior art keywords
- pushing
- ticket
- call
- data
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种话单推送方法及装置。所述方法包括:通过一致性哈希技术,将话单数据推送至不同的存储服务器上。本发明提供的话单推送方法及装置在遇到巨额话单推送时候可以以把话单丢失降低到最小程度,实现面对偶发大量请求时的高可用,易扩展的特性。
Description
技术领域
本发明涉及分布式系统技术领域,特别是涉及一种话单推送方法及装置。
背景技术
当前随着网络的发展,互联网也随之告诉发展,传统模式的服务架构已经被淘汰,即使是设计之初就是为了应对大流量,高并发的服务器架构,也会面临一系列的挑战。其中由于服务器资源的有限性,如果面临着大量的请求没有什么保护措施的话就很可能导致服务器宕机,而队列就是这样一种保护措施,队列通过把请求依次放入队列中,根据服务器处理能力来拉去请求,保证了服务器在面对大量并发的时候依然可以保持很高的性能。然后可以利用业务上的空闲时间来处理这些请求,从而达到了削峰填谷的作用。并且可以通过增加处理的服务器的量来快速扩展业务,所有服务器都从队列中拉取,从而使请求和服务器解耦使处理能力可以平行的扩展。传统队列都是采用哈希槽类型的一主一备的模式,当偶发性的巨额话单推送过来时候不易扩展,会造成大量的数据丢失,这将会对企业造成不可估量的损失。
在面对超过当前Redis处理能力的大量话单时在可以横向扩展的同时保证数据的完整性以及集群的高可用,不会出现大量的推送导致服务宕机最终导致雪崩效应,保证业务不被中断,仍然可以持续的提供服务。并且在当大量推送进入的时候会通过校验码机制保证数据不会丢失。
目前现有的技术方案是通过主备哈希槽的形式来存储,保证话单的完整性。这种方式是最简单的,也是较为低成本的做到高可用,话单进来的时候可以通过哈希算法分配到不同的redis上。请求量大但是只要分配合理就可以持续的高可用。
如图1所示,为Redis使用主备哈希槽的解决方案,当键进来的时候哈希值在不同的范围就会被划分到不同的redis上,这样就可以使多台redis同时对外提供服务。并且由于每台主Redis都有slave,所以当某一台宕机的时候集群仍然可用。slave会推选出新的master。
发明内容
本发明要解决的技术问题是提供一种话单推送方法及装置,在遇到巨额话单推送时候可以以把话单丢失降低到最小程度,实现面对偶发大量请求时的高可用,易扩展的特性。
为解决上述技术问题,本发明提供了一种话单推送方法,所述方法包括:通过一致性哈希技术,将话单数据推送至不同的存储服务器上。
在一些实施方式中,所述存储服务器为Redis服务器。
在一些实施方式中,还包括:检测被推送话单数据的连续性。
在一些实施方式中,还包括:通过语音识别技术将通话的语音数据转化为文字形式的话单数据。
在一些实施方式中,通过一致性哈希技术,将话单数据推送至不同的存储服务器上,包括:对节点进行哈希,通常使用其节点的ip或者是具有唯一标示的数据进行哈希运算,将其值分布在闭合圆上;将存储的键进行哈希运算,然后将其值要分布在闭合圆上;从键的哈希运算结果在圆上映射的位置开始顺时针方向找到的一个节点即为存储键的节点。
此外,本发明还提供了一种话单推送装置,所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的话单推送方法。
采用这样的设计后,本发明至少具有以下优点:
在遇到巨额话单推送时候可以以把话单丢失降低到最小程度,实现面对偶发大量请求时的高可用,易扩展的特性。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是现有技术提供的哈希槽存储方式的应用系统的整体架构图;
图2是本发明实施例提供的话单推送方法的执行过程示意图;
图3是本发明实施例提供的话单推送方法的执行过程示意图;
图4是本发明实施例提供的话单推送方法的执行过程示意图;
图5是本发明实施例提供的话单推送方法的执行过程示意图;
图6是本发明实施例提供的语音-文字转换过程的流程示意图;
图7是本发明实施例提供的话单推送装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供通过一致性hash来调度redis,实现队列高可用,易扩展。
首先我们需要了解什么叫做一致性hash。一致性hash是一个0-2^32的闭合圆,(拥有2^23个桶空间,每个桶里面可以存储很多数据,可以理解为s3的存储桶)所有节点存储的数据都是不一样的。计算一致性哈希是采用的是如下步骤:
1.对节点进行hash,通常使用其节点的ip或者是具有唯一标示的数据进行hash(ip),将其值分布在这个闭合圆上。
2.将存储的key进行hash(key),然后将其值要分布在这个闭合圆上。
3.从hash(key)在圆上映射的位置开始顺时针方向找到的一个节点即为存储key的节点。如果到圆上的0处都未找到节点,那么0位置后的顺时针方向的第一个节点就是key的存储节点。
如图2所示,当计算出来的点落在node1和node2之间,顺时针旋转找到的就是node2。落在node4和node3之间顺时针找到的就是node3。
如果此时在图2的node2和node4之间增加一个节点node5,此时在环上黄色面积内的点会被重新定位到node5,其余部分不受影响。具体添加结果如图3所示。
如果此时删除图2的node2节点,此时在环上黄色面积内的点会被重新定向到node4,其余部分不受影响。具体的删除结果图4所示。
一致性hash扩容方便的原理就如上图所示,但是此时还面临着一个问题。数据倾斜,会导致节点内存储的数据不均衡,不同节点数据量差异非常大,乃至导致雪崩效应,为了解决这个问题就需要引入虚拟节点,将一台物理机器虚拟成多个节点,均匀的分布在圆环上,这样就解决了数据倾斜的问题
另外,我们需要注意的是,虚拟节点的下一跳应该是不同物理机器的虚拟节点,如图5所示。如果Real2宕机了那么他的数据会被均匀的分配到Real1和Real3上面。如果下一跳都是一台物理机器的话,还是会导致雪崩效应导致整体失效。
基于一致性hash环,每个物理机配上备份之后就组成了高可用,易扩容的队列服务集群架构,在应对突发的大量访问请求可以在把影响降低到很小的情况下加入物理机器,横向扩展。由于key丢失的话单比较小,底层在重推的过程中也就只需要推送很小一部分,这样既保证了处理的速度,也不会影响现有业务,做到用户无感知的扩展。以此来解决应对突发情况的扩展问题。
通过校验码保证话单的连续性和完整性
一致性hash队列解决了集群高可用的问题,但是即便如此还是会损失少量话单,而在公司层面来说是不能忍受话单的丢失的。所以我们对每一个推送进入队列的请求增加校验码来保证话单数据不会丢失。这样,话单在从队列中拉取入库的同时也会检测话单的连续性。
比如现在有ABC三个话单,他们的校验码分别为1,2,3。这个时候系统从队列中拉取了A话单入库没有问题,然后拉取B话单并设置一个超时时间,发现队列中并没有B话单,这时候系统会发送一个请求给数据推送的系统,然后推送方会将这个B数据再推入队列,然后系统再讲B话单入库,此时再入库C话单,这样就保证了数据不会丢失。
通过ASR(Automatic Speech Recognition)校验码保证话单的可靠性以及降低骚扰率
语音识别(Automatic Speech Recognition),一般简称ASR;是将声音转化为文字的过程,相当于人类的耳朵。
语音识别原理流程:“输入——编码——解码——输出”。
在没有ASR转写的时候我们想识别违规通话记录就只能通过一通一通的去听通话录音,这样就导致了效率极其低下的效果,加入一个企业一个月有几百万到上千万的通话记录则人工听取通话记录需要巨量的成本,这无疑是不现实的,所以ASR的出现极大的优化了这一过程。
加入语音识别技术之后,整体的系统处理流程如图6所示。
CTI-CLOUD平台的话单在入库的时候会通过话单的唯一ID查找通话记录,然后对通话记录对应的录音做ASR转写,将录音转写成分为座席侧和客户侧的文本。然后会对文本进行敏感词检测,如果检测出文本的敏感词的量超过阈值则记录话单并根据企业ID将这个通话的uniqueID发送给客户。这样客户可以快速获取违规的通话记录快速响应,极大的减少了人力物力上的成本。
图7示出了本发明话单推送装置的结构图。参见图7,话单推送装置包括:中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (6)
1.一种话单推送方法,其特征在于,包括:
通过一致性哈希技术,将话单数据推送至不同的存储服务器上。
2.根据权利要求1所述的话单推送方法,其特征在于,所述存储服务器为Redis服务器。
3.根据权利要求2所述的话单推送方法,其特征在于,还包括:
检测被推送话单数据的连续性。
4.根据权利要求2所述的话单推送方法,其特征在于,还包括:
通过语音识别技术将通话的语音数据转化为文字形式的话单数据。
5.根据权利要求2所述的话单推送方法,其特征在于,通过一致性哈希技术,将话单数据推送至不同的存储服务器上,包括:
对节点进行哈希,通常使用其节点的ip或者是具有唯一标示的数据进行哈希运算,将其值分布在闭合圆上;
将存储的键进行哈希运算,然后将其值要分布在闭合圆上;
从键的哈希运算结果在圆上映射的位置开始顺时针方向找到的一个节点即为存储键的节点。
6.一种话单推送装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至5任意一项所述的数据话单推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131965.3A CN110839083A (zh) | 2019-11-19 | 2019-11-19 | 话单推送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131965.3A CN110839083A (zh) | 2019-11-19 | 2019-11-19 | 话单推送方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110839083A true CN110839083A (zh) | 2020-02-25 |
Family
ID=69576562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911131965.3A Pending CN110839083A (zh) | 2019-11-19 | 2019-11-19 | 话单推送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110839083A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448968A (zh) * | 2021-12-15 | 2022-05-06 | 广州市玄武无线科技股份有限公司 | 推送量校验方法和装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
CN101925039A (zh) * | 2010-08-09 | 2010-12-22 | 中兴通讯股份有限公司 | 计费话单的预警方法及装置 |
US20170264682A1 (en) * | 2016-03-09 | 2017-09-14 | EMC IP Holding Company LLC | Data movement among distributed data centers |
CN109327609A (zh) * | 2018-09-13 | 2019-02-12 | 新联协同通信技术(北京)有限公司 | 基于手机呼叫转移和微信、公众号或小程序的来电智能处理办法和系统 |
CN110333944A (zh) * | 2019-04-19 | 2019-10-15 | 中国联合网络通信集团有限公司 | 话单数据业务处理方法及设备 |
-
2019
- 2019-11-19 CN CN201911131965.3A patent/CN110839083A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
CN101925039A (zh) * | 2010-08-09 | 2010-12-22 | 中兴通讯股份有限公司 | 计费话单的预警方法及装置 |
US20170264682A1 (en) * | 2016-03-09 | 2017-09-14 | EMC IP Holding Company LLC | Data movement among distributed data centers |
CN109327609A (zh) * | 2018-09-13 | 2019-02-12 | 新联协同通信技术(北京)有限公司 | 基于手机呼叫转移和微信、公众号或小程序的来电智能处理办法和系统 |
CN110333944A (zh) * | 2019-04-19 | 2019-10-15 | 中国联合网络通信集团有限公司 | 话单数据业务处理方法及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448968A (zh) * | 2021-12-15 | 2022-05-06 | 广州市玄武无线科技股份有限公司 | 推送量校验方法和装置、电子设备、存储介质 |
CN114448968B (zh) * | 2021-12-15 | 2023-01-10 | 广州市玄武无线科技股份有限公司 | 推送量校验方法和装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11646972B2 (en) | Dynamic allocation of network resources using external inputs | |
US20190340265A1 (en) | Containerization for elastic and scalable databases | |
US9053166B2 (en) | Dynamically varying the number of database replicas | |
CN108023967B (zh) | 一种数据平衡方法、装置及分布式存储系统中的管理设备 | |
US8375200B2 (en) | Embedded device and file change notification method of the embedded device | |
JP2019523952A (ja) | ストリーミングデータ分散処理方法及び装置 | |
US11550668B2 (en) | Messaging system failover | |
US20130124916A1 (en) | Layout of mirrored databases across different servers for failover | |
US20210263676A1 (en) | Queue management in multi-site storage systems | |
US20200057714A1 (en) | Testing data changes in production systems | |
CN110633046A (zh) | 一种分布式系统的存储方法、装置、存储设备及存储介质 | |
US11023354B2 (en) | Hyper-converged infrastructure (HCI) log system | |
CN110839083A (zh) | 话单推送方法及装置 | |
US10645155B2 (en) | Scalable parallel messaging process | |
US11113287B1 (en) | Data stream management system | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN116016561A (zh) | 数据的同步方法和装置 | |
US11388250B1 (en) | Reduction of data transmissions based on end-user content | |
US10712959B2 (en) | Method, device and computer program product for storing data | |
US7930395B2 (en) | System and method for managing system resources in a network environment | |
US11914586B2 (en) | Automated partitioning of a distributed database system | |
US20080002593A1 (en) | System and method for dropping slow connections during a multi-connection download | |
US6678354B1 (en) | System and method for determining number of voice processing engines capable of support on a data processing system | |
KR102569002B1 (ko) | 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200225 |