本文是一篇计算机论文,计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。(以上内容来自百度百科)今天为大家推荐一篇计算机论文,供大家参考。
第 1 章 绪 论
1.1 研究背景和意义
随着经济发展和通信技术的不断提高,电话己经成为当今社会的一种最重要的通信和沟通方式,尤其是像呼叫中心、公安、电力、军事等一些重要部门,都需要通过电话进行调度指挥。为及时查询和发现事件或事故原因以及提供准确可靠的原始录音,避免有些事后说不清的事情以及造成不必要的麻烦甚至法律争端,往往需要记录并保存电话的通话内容。因此需要配备一套完善的电话录音和话音回放系统来保留通讯过程的原始录音及现实场景。电话录音内容可以作为质量考核、系统监管甚至法律争端的重要依据,也可以作为投诉记录、交易证据的重要凭证,对提高公司服务质量,塑造公司形象,增强竞争实力,提高工作效率和维护单位合法权益等方面具有重要意义。本课题采用 VC、Socket、UDP、线程池、Oracle 等技术,实现电话录音和话音回放系统,其包括电话录音软件和话音回放软件两部分。电话录音软件可以同时支持对多路话音电话进行录音、存储和话音数据导出等功能。该软件安装在录音设备中,它从交换机上采集系统内的多路电话通话数据,存储在本地硬盘上。话音回放软件实现话音数据导入、话音数据回放、历史话音数据删除等功能。话音回放软件安装在一台 PC 计算机上,该计算机通过以太网口与录音设备进行通信。本课题成果的应用非常广泛,如电力、石油、铁路等行业的指挥调度部门;机场、港口、公安、安全、军事等要害部门;银行、证券所、保险公司等金融行业各种客户服务中心、投诉中心等。为及时查询和发现事故原因以及提供准确可靠的原始录音记录,发挥了巨大作用。
.........
1.2 国内外研究现状
专业多通道话音记录仪的出现,起源于英国 Racal(雷卡)公司,采用录像带或数据盘带作为记录媒介,其技术手段是利用大规模多轨道的磁带录音设备,对模拟声频信号进行记录,为专业电话录音设备的第一代。当时主要应用于军事、民航、安全等特殊部门。这种系统存在着明显的不足。首先,录音的音质较差。其次查询和检索非常困难。最后,保存难度较大。磁带记录设备受各种环境较大,从而很难长时间保存。而每一次检索和重放,也都会给磁带带来各种损伤,造成磁带音质的严重下降。进入 20 世纪 90 年代之后,随着现代计算机技术的迅猛发展,调度电话的记录手段正面临一场技术革命,传统的多通道模拟话音记录仪因其结构不合理、技术方式较差、操作繁琐和维护成本高等缺陷而趋于逐步淘汰。第二代产品以英国公司为代表,其它诸如美国、澳大利亚、ASC 德国、AT&T 等公司 90 于年代初期推出了以盒式数据流磁带为记录媒体的数字录音设备。其记录方式发生了根本的改变,由模拟方式而转变为数字方式。由于保存这些使用的媒体主要是磁带,当有大量数据时,需要花费许多磁带,而且查找、使用均不方便,更不利于长期保存和管理。随着个人计算机的迅速普及,人们开始注意到计算机硬盘巨大的存储空间和操作系统完善的文件系统为电话录音的存储和管理提供了极为便利的条件,于是出现了以计算机硬盘为记录和管理媒体的录音终端。第三代产品以东进、三汇公司的多通道话音记录仪产品为代表,系统采用了 SONY 公司的可读写光技术,在中文环境下,以镭射光盘、硬盘为记录媒体,采用图形界面的方式,具有图形界面,操作相对较为简单,完成了话音记录系统从模拟到数字及录音存取方式的根本上的改变。近年来,随着计算机网络技术的不断成熟和发展,人们不断尝试着把网络技术与电话录音监听系统相结合。市场上也出现了大量的使用网络技术的电话录音回放系统。这些系统针对特定的客户需求将计算机网络技术引入到电话录音回放系统的各个方面。2010 年西安电子科技大学赵华璞的硕士学位论文《电话录音系统的设计与实现》设计了一套通用性较强的电话录音系统,该系统采用“分布接入、统一管理”的分布式系统结构,实现集中管理分布在多个区域各个分支和总部的多个录音服务器。系统运用线程池技术,能对各个通道同时远程录音,支持模拟电话、数字电话、电话等多种电话同时录音,不仅支持压控、声控和码控等传统的录音控制方式,又提出了一种新的控制方式—信令控制。系统支持对各通道电话录音的查询、回放和备份,同时也支持对各个通道状态及通话内容的实时监听等功能[1]。2014 年南昌大学赵剑的硕士学位论文《监狱用会见电话录音系统设计》采用ARM AM1808 作为系统的核心处理器,结合 A/D 转换芯片 MC145480 和以太网控制器 DM9161 分别构成了系统的语音录制和网络服务器的硬件基础。实现了语音的录制、语音记录的管理和传输等功能,满足了用户的基本要求,据有较强的实用价值[2]。总的来看,目前有关模拟电话/数字电话录音、电话录音查询、备份和回放的研究较多,但对多路电话话音混合播放的研究较少。
..........
第 2 章 相关理论知识
2.1 Socket网络上的两个程序
通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket[4]。Socket 通常也称作”套接字”,用于描述 IP 地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。Socket 网络通信分为流式 Socket 和数据报式 Socket 两种,其中流式 Socket 采用 TCP 协议进行网络通信;数据报式 Socket 采用 UDP 协议进行网络通信。流式 Socket 具有面向连接、有序、无差错、无重复、可靠性高和可移植性好等特点。数据报式 Socket 具有面向非连接、快捷、占用系统资源少等优点[5-6]。Visual C++通过 MFC CSocket 类实现 Socket 网络数据通信的功能函数和相应处理事件。由于本项目特点系统采用数据报式 Socket 实现网络数据通信。CSocket 实现网络通信的主要步骤如下[7]:1)在使用 MFC 编写 socket 程序时,必须要包含<afxsock.h>头文件。2)定义 CSocket 的派生类 CAudoSocket,并定义 CAudoSocket 类的对象 socketObj。3)通过调用 socketObj 对象的 Create 方法创建 Socket 对象,其中 Create 方法的第 2 个参数是 SOCK_DGRAM。4)通过调用 socketObj 对象的 SetSockOpt 方法设置 socket 选项,其中 SetSockOpt方法的第 1 个参数是 SO_BROADCAST。5)通过调用 socketObj 对象的 Bind 方法设置 Socket 绑定的本地端口和地址。6)重载 CAudoSocket 类的 OnAccept 消息,在 CAudoSocket::OnReceive 函数中设计接收网络数据处理的相关程序。7)构造网络发送数据包,通过 socketObj 对象的 Send 方法发送网络数据。8)网络数据通信完毕通过 socketObj 对象的 Close 方法关闭 Socket。
.........
2.2 线程池
本课题的电话录音软件和话音回放软件都存在多任务并发处理情况。比如:电话录音软件在进行处理话音数据导出同时进行电话录音工作;话音回放软件存在在进行话音数据导入的同时可能进行话音回放等工作,并且多路话音回放本身就存在多线程并发工作问题。多任务并发处理就需要多线程技术进行处理。多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。但如果对多线程应用不当,会增加对单个任务的处理时间。多线程使用方式一般分为按需创建和线程池两种[5]。按需创建线程就是当系统需要该线程时,就新创建该线程,使用该线程执行任务,任务完成后就删除该线程。按需创建线程具有以下不足:(1) 时间开销大 创建线程、删除线程工作比较费时,并且多个线程之间的切换也消耗大量的时间。(2) 程序设计复杂 当多个线程访问临界资源时,当前线程需要控制加锁等操作管理其分配的文件和堆内存等系统资源,加大了程序设计复杂性。线程池是一种多线程处理形式,其预先创建一定数量的线程,建立线程池时需要设置线程数目的最小值和最大值,最开始线程池中只有最小值数目的线程处于活跃状态等待任务的到来,其他均处于睡眠状态。当有新任务进来时,先分配活跃状态的线程执行任务,并将该线程置为忙碌状态;当任务完成时,该线程不进行销毁而是置为空闲状态放回线程池中等待下一新任务到来。若线程池中活跃状态的线程均处于忙碌,当有新任务进来时则唤醒睡眠状态的线程执行任务,并置为忙碌状态。当线程池中所有线程都处于忙碌状态,此时又有新任务进来,则需要该任务等待其他任务释放线程[10,11,12]。#p#分页标题#e#
.........
第 3 章 关键技术研究..............13
3.1 VC 访问 Oracle 数据库 .......13
3.1.1 常用的 VC 访问 Oracle 数据库的方法.......13
3.1.2 VC 通过 OCI 访问 Oracle 数据库.........15
3.2 音频混音播放....16
3.3 UDP 通信协议设计.........21
3.4 本章小结 .............27
第 4 章 系统的功能需求.............29
4.1 电话录音软件需求.............29
4.2 话音回放软件需求.............30
4.3 本章小结 .............31
第 5 章 系统的设计与实现............33
5.1 系统网络结构....33
5.2 系统体系结构....33
5.3 电话录音软件的设计与实现.........34
5.4 话音回放软件的设计与实现.........40
5.5 本章小结 .............45
第 6 章 系统展示
本系统包括两个独立的模块软件:电话录音软件和话音回放软件两部分。由于电话录音软件是运行在录音盒子中的软件,无显示界面,只需要开启录音设备即可。本系统的展示主要展示话音回放软件。话音回放软件实现 IP 地址显示、IP 地址设置、话音数据导入、话音数据回放和历史话音数据删除等功能。
6.1 IP 地址显示
在话音回放软件主界面中点击“IP 地址显示”菜单项,则显示“IP 地址显示”对话框如图 6-2 所示。在“IP 地址显示”对话框中点击“获取远程 IP 地址”按钮,如果话音回放软件与电话录音软件通信不正常则弹出如图 6-3 所示提示框;如果话音回放软件与电话录音软件通信正常则将电话录音软件的相关 IP 地址信息(包括 IP 地址、子网掩码和网关)显示出来如图 6-4 所示。在图 6-1 中点击“话音数据导入”菜单项,如果话音回放软件与电话录音软件通信不正常则弹出如图 6-3 所示提示框;如果话音回放软件与电话录音软件通信正常则弹出如图 6-6 所示对话框,点击“导入”按钮则开始话音数据导入,如果电话录音软件中不存在话音数据,则出现图 6-7 所示提示框;如果电话录音软件中存在话音数据,则话音数据导入过程如图 6-8 所示,在图 6-6 中点击“退出”按钮退出本次话音数据导入操作。如果在图 6-8 所示的界面中点击“退出”按钮,则取消话音数据导入工作。
.........
结 论
本文采用面向对象方法对系统进行了需要分析、设计和实现,实现了电话通话数据的实时录音,话音数据导出、话音数据回放等功能。电话原始录音可以作为质量考核、系统监管甚至法律争端的重要依据,也可以作为投诉记录、交易证据的重要凭证,对提高公司服务质量,塑造公司形象,增强竞争实力,提高工作效率和维护单位合法权益等方面具有重要意义。在系统的设计和开发过程中,本文主要完成的工作如下:
1) 对 Socket、线程池、实时音频播放等相关知识进行了较系统的学习。
2) 完成系统功能需求分析,系统分为电话录音软件和话音回放软件两部分,其中电话录音软件实现系统时间设定,电话录音、话音数据导出、IP 地址显示和 IP 地址设置等功能;话音回放软件实现系统时间下发、电话录音软件的 IP 地址显示和 IP地址设置、话音数据导入、话音回放和历史话音数据删除等功能。
3) 通过对 VC 访问 Oracle 数据库不同访问方法进行对比分析,决定采用 OCI 技术对 Oracle 数据库进行访问。通过分析利用 DirectSound 实现混音播放和利用叠加MediaPlayer 控件实现混音播放两种混音播放方法的工作过程、优缺点和本课题的特点,决定采用利用低级音频函数实现混音播放。
4) 提出一种通过拖动播放进度条的滑块进行混音播放实现方法。
..........
参考文献(略)