CN103685485A - 移动终端VoIP通讯音频管理系统 - Google Patents
移动终端VoIP通讯音频管理系统 Download PDFInfo
- Publication number
- CN103685485A CN103685485A CN201310634839.6A CN201310634839A CN103685485A CN 103685485 A CN103685485 A CN 103685485A CN 201310634839 A CN201310634839 A CN 201310634839A CN 103685485 A CN103685485 A CN 103685485A
- Authority
- CN
- China
- Prior art keywords
- server
- mobile terminal
- audio frequency
- communication audio
- reverse proxy
- 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.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种管理系统,尤其是一种移动终端VoIP通讯音频管理系统,属于工程数据管理的技术领域。按照本发明提供的技术方案,所述移动终端VoIP通讯音频管理系统,包括移动终端;所述移动终端与服务器端连接,移动终端将通话音频传输至服务器端,以通过服务器端对移动终端传输的通话音频进行存储管理。本发明移动终端能将通讯音频传输到服务器端,在服务器端通过网站服务器提供HTTPRESTFul服务,通过媒体文件服务器进行通讯音频的转码,通过实时信息服务器提供转码精度的查询,通过反向代理服务器能够实现反向代理以及负载均衡,结构紧凑,能对移动终端的音频进行有效管理,适用范围广,安全可靠。
Description
技术领域
本发明涉及一种管理系统,尤其是一种移动终端VoIP通讯音频管理系统,属于工程数据管理的技术领域。
背景技术
VoIP通讯技术全称Voice over Internet Protocol,泛指一系列通过IP(Internet Protocol)网络进行语音或其它多媒体通信的通讯方式。当前VoIP技术发展较为成熟,已被广泛应用于各种智能手机。面对日益增多的VoIP通讯,如何有效管理VoIP通讯音频成为了研究者们不可回避的问题。
当前,大部分手机VoIP客户端并不对通讯音频提供管理服务。部分功能较为完善的客户端如CSipSimple,SIPDroid等也仅仅提供了基本的通讯音频存储功能。造成这一现象的原因在于通讯音频占据较大存储空间,手机等移动终端往往不能满足这样的空间需求。虽然部分手机软件可以通过转码文件的方式来降低音频文件的空间占用率,但是这样方式会使手机处于高负荷运转,使得手机响应缓慢并消耗大量电力。
然而,在另一方面,随着科技的发展,服务器端大数据的存储与管理已经成为了可能。将数据存放在服务器端,我们不用担心数据的安全性、空间的使用限制。除此以外,较之于本地存储,通讯音频还可以得到更多元化的管理,例如我们可以直接以网页的方式播放通讯音频、设置通讯音频的访问权限等。
传统手机客户端与服务器端往往直接建立TCP(Transmission Control Protocol)连接,然后用自定义协议的方式进行业务逻辑的控制。这种方式大大降低了程序的鲁棒性和可扩展性。当自定义协议越来越臃肿时,后续的维护和新功能的引入将变得难以实现。为此,应当使用一种统一、轻量的协议来管理手机客户端与服务器端的交互。
此外,当前手机等移动终端数量巨大,服务器端如何有效管理自身资源并为大量终端提供服务也是一个非常值得考虑的问题。例如,考虑到可能会有海量的音频文件,服务器端应当能够对音频文件转码以降低其空间占用。又例如,当大量终端同时访问时,服务器端如何对用户请求进行分流。又例如,为了确保数据的安全性,服务器端如何对数据进行备份。
以上对于客户端及服务器端的每个子问题,都有接近成熟的实现。然而,如何将这些实现集中在一起,并构建出一个整体的系统却仍有待人们探索。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种移动终端VoIP通讯音频管理系统,其结构紧凑,能对移动终端的音频进行有效管理,适用范围广,安全可靠。
按照本发明提供的技术方案,所述移动终端VoIP通讯音频管理系统,包括移动终端;所述移动终端与服务器端连接,移动终端将通话音频传输至服务器端,以通过服务器端对移动终端传输的通话音频进行存储管理。
所述服务器端包括反向代理服务器及与所述反向代理服务器相互连接的网站服务器、媒体文件服务器及实时信息服务器;移动终端通过反向代理服务器与网站服务器、媒体文件服务器及实时信息服务器连接;网站服务器对移动终端提供HTTP RESTFul服务;媒体文件服务器存储移动终端传输的通话音频,并对所述通话音频文件进行转码;实时信息服务器能允许移动终端查询当前通话音频转码的进度。
所述服务器端还包括与反向代理服务器连接的数据库服务器及备份服务器;数据库服务器存储移动终端的用户信息、通话音频元信息。
所述移动终端包括智能手机或平板电脑。
本发明的优点:移动终端能将通讯音频传输到服务器端,在服务器端通过网站服务器提供HTTP RESTFul服务,通过媒体文件服务器进行通讯音频的转码,通过实时信息服务器提供转码精度的查询,通过反向代理服务器能够实现反向代理以及负载均衡,结构紧凑,能对移动终端的音频进行有效管理,适用范围广,安全可靠。
附图说明
图1为本发明的结构框图。
图2为本发明的流程图。
附图标记说明;1-反向代理服务器、2-网站服务器、3-媒体文件服务器、4-数据库服务器、5-备份服务器、6-移动终端及7-实时信息服务器。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1和图2所示:为了能够对移动终端6在通话中产生的通话音频进行有效存储及管理,本发明包括移动终端6;所述移动终端6与服务器端连接,移动终端6将通话音频传输至服务器端,以通过服务器端对移动终端6传输的通话音频进行存储管理。
所述服务器端包括反向代理服务器1及与所述反向代理服务器1相互连接的网站服务器2、媒体文件服务器3及实时信息服务器7;移动终端6通过反向代理服务器1与网站服务器2、媒体文件服务器3及实时信息服务器7连接;网站服务器2对移动终端6提供HTTP RESTFul服务;媒体文件服务器3存储移动终端6传输的通话音频,并对所述通话音频文件进行转码;实时信息服务器7能允许移动终端6查询当前通话音频转码的进度。
所述服务器端还包括与反向代理服务器1连接的数据库服务器4及备份服务器5;数据库服务器4存储移动终端6的用户信息、通话音频元信息。所述移动终端6包括智能手机或平板电脑。
具体地实施时,将服务器端分成三层,其中,
服务器端第一层包括反向代理服务器1,通过反向代理服务器1主要实现反向代理以及负载均衡。
服务器端第二层包括网站服务器2、媒体文件服务器3以及实时信息服务器7。网站服务器2对移动终端6提供HTTP RESTFul服务,包括用户认证、通话音频的访问权限设置、音频列表生成等功能。媒体文件服务器3存储着用户上传的通话音频,媒体文件服务器3会对存储的媒体文件进行转码,以降低空间占用率和日后网络传输该文件所需的流量。实时信息服务器7主要供用户动态查询当前通话音频的转的进度。
服务器端第三层包括数据库服务器4及备份服务器5。数据库服务器4主要用于存储用户信息、通话音频元信息以及其它与系统有关的信息。备份服务器5负责对整个服务器端的重要数据进行备份。
本发明实施例中,使用反向代理服务器作为服务器端的第一层。这样做有如下优点:
1)、隔绝外部网络:通过在服务器端前端架构反向代理服务器1,等于在服务器端内部服务器和移动终端6之间架设了一堵墙,能够提高了服务器端内服务器的安全性。由于任何外部用户的访问请求实际上都直接作用于反向代理服务器1,所以用户对服务器端的恶意攻击往往不会波及服务器端的其余服务器。
2)、降低对IP地址的需求:由于服务器端通常包含大量服务器,为了解决公网IP地址有限的问题,本发明实施例中,只需给反向代理服务器1分配公网IP地址。对于其它服务器,只需给其分配内网地址即可。
3)、负载均衡:本发明实施例中,可以很容易地在反向代理服务器1的基础上增加负载均衡功能。这样,当有大量用户访问服务器端时,可以自由地在后端增加响应服务器,并对其进行调度。
4)、加快访问速度:反向代理服务器1兼具普通前向代理服务器的特性,可以很好地对文件进行缓存,故而能大大减小响应时间。
Nginx是一个轻量、高性能的异步式网站服务软件。本发明实施例中,使用Nginx来构建服务器端反向代理服务。
在本发明实施例中,网站服务器2以HTTP RESTFul的方式对外提供服务,网站服务器2以HTTP RESTFul方式提供服务有如下优点:
1)、RESTFul直接基于HTTP(Hypertext transfer protocol),协议轻量。
2)、RESTFul面向资源,直观易于理解。
3)、无状态请求降低了单点故障的可能性。
4)、易于扩展。
本发明实施例中,采用基于Python的Django框架进行相应网站服务的开发。网站服务的主要业务逻辑如下:用户注册、认证;用户通话音频的上传、下载;用户通话音频列表的生成;用户转码音频列表的生成;用户通话音频的播放页面。
媒体文件服务器3主要负责通讯音频文件的转码和存储。当移动终端6上传通讯音频后,相应音频最终会被同步存储至媒体文件服务器3内。
考虑到服务器存储容量的限制以及降低未来文件传输时所耗的流量,媒体文件服务器3会对所存储的媒体文件进行转码。值得注意的是,除了支持对音频转码外,媒体文件服务器3还支持对视频的转码。
当文件在媒体服务器3上同步完成后,转码模块随即被调用。在转码模块内,本发明实施例中,首先通过与外部程序ffprobe来获取媒体文件的详细信息,然后调用外部程序ffmpeg进行转码。在这个过程中,通过使用Pexpect不断与ffmpeg进程通讯,然后对ffmpeg返回的文本结果进行解析,提取出转码的时间进度。
由于在同一时间段内可能存在多个用户上传通话音频,这意味着在同一时间段有多个媒体文件需要被转码。考虑到系统的性能,系统不可能针对每个转码请求都开启一个新的线程/进程。为了确保转码模块工作正常,系统需要把所有转码请求存储在一个容器中。消息队列无疑非常适合作为这个容器。
文件转码是一个较为耗时的操作。为了提高用户体验,服务器端提供了媒体文件转码进度的实时查询功能。因此,设置了实时信息服务器7。
在本发明实施例中,移动终端6使用浏览器以AJAX/JSONP方式与实时信息服务器7进行通讯,移动终端6则直接以调用HTTP RESTFul API方式与实时信息服务器7进行通讯。
本发明实施例中,可以使用Python异步库Twisted实现了服务器端的实时信息服务功能。当实时信息服务器7收到移动终端6发来的请求后,会保持住该请求,并将该请求加入到内部队列中。实时信息服务器7会每隔2秒遍历该内部队列,然后访问媒体信息服务器7以获得文件转码的实时进度。如果转码进度有更新或者连接即将超时,则返回消息。
数据库服务器4主要存储着用户信息、媒体文件元信息以及转码相关的信息。本发明实施例中,在数据库服务器4上部署了Postgres。Postgres是一个基于对象的关系型数据库管理系统。它开源、稳健,且相对其它数据库实现了较多的功能。在系统的开发过程中,本发明实施例中,主要使用PGAdmin对Postgres数据库管理系统进行管理,并对数据库表进行了规范化。
由于外部不可抗拒因素,如磁盘损坏等,服务器数据面临着丢失的风险。为了解决这个问题,本发明在服务器端部署了备份服务器5。考虑到传统全盘备份过于冗余,且较为耗时,本发明选用了基于GPL(General Public License)协议发布的rdiff-backup作为主要备份工具。rdiff-backup由rsync和rdiff发展而来,完善集成了rsync的同步和rdiff的增量功能,能够稳定地通过网络将文件从一台服务器同步到另一台服务器。同时,这样的备份方式还能够有效保存被同步文件的信息,如文件权限,GID(Group Identification)和UID(User Identification)等。
为了能够通过移动终端6实现所需的通讯音频管理,本发明实施例中,在开源VoIP客户端SIPDroid的基础上进行了二次开发,加入了通话音频的同步、通话音频列表的获取与播放等功能。
1)、通话音频的同步
SIPDroid中,通话音频默认以16位PCM方式编码并进行传输。通过提取RTPStreamReceiver和RTPStreamSender中的音频数据并进行混流即可得到通话双方的WAV文件。
由SIPDroid源码可知,JAudioLauncher类管理着一次通话的所有音频数据。本发明实施例中,在JAudioLauncher类中的stopMedia方法内加入了一个对MediaUploader类对象的调用。MediaUploader类负责同步、分享通话音频至服务器端。这样当通话结束时便会触发对通话音频(本地WAV文件)的处理。
考虑到通话音频的上传会阻塞UI主线程(User Interface Thread),本发明定义MediaUploader为AsyncTask类的子类。这样,MediaUploader会以异步任务的方式在后台执行。
客户端首先读取并设置音频的元信息。元信息(Meta Information)指的是关于文件本身的信息,比如文件的访问权限等。然后调用服务器端RESTFul的接口进行文件的上传。
2)、通话音频列表的获取、播放
本发明实施例中,在移动终端6加入了通话音频列表的获取功能。移动终端6可以从服务器端获取自己可以访问的通话音频列表或者是个人历史通话音频列表。
当移动终端6与服务器端成功认证后,根据请求参数的不同,服务器端返回不同类型的音频列表给服务器端。
在收到服务器端返回的JSON文本后,移动终端6会对其进行解析并提取出相应的音频信息。最后本发明将这些音频信息渲染生成列表。当用户点击列表条目时,客户端会自动从服务器端获取相应音频数据,并对其进行播放。
3)、实时信息查询
用户可以通过手机网页客户端的方式访问服务器端,获得文件信息。实时信息的获取主要通过AJAX/JSONP实现。当通过手机客户端访问时,则调用服务器端API(Application Programming Interface)实现。
本发明移动终端6能将通讯音频传输到服务器端,在服务器端通过网站服务器2提供HTTP RESTFul服务,通过媒体文件服务器3进行通讯音频的转码,通过实时信息服务器7提供转码精度的查询,通过反向代理服务器1能够实现反向代理以及负载均衡,结构紧凑,能对移动终端的音频进行有效管理,适用范围广,安全可靠。
Claims (4)
1.一种移动终端VoIP通讯音频管理系统,包括移动终端(6);其特征是:所述移动终端(6)与服务器端连接,移动终端(6)将通话音频传输至服务器端,以通过服务器端对移动终端(6)传输的通话音频进行存储管理。
2.根据权利要求1所述的移动终端VoIP通讯音频管理系统,其特征是:所述服务器端包括反向代理服务器(1)及与所述反向代理服务器(1)相互连接的网站服务器(2)、媒体文件服务器(3)及实时信息服务器(7);移动终端(6)通过反向代理服务器(1)与网站服务器(2)、媒体文件服务器(3)及实时信息服务器(7)连接;网站服务器(2)对移动终端(6)提供HTTP RESTFul服务;媒体文件服务器(3)存储移动终端(6)传输的通话音频,并对所述通话音频文件进行转码;实时信息服务器(7)能允许移动终端(6)查询当前通话音频转码的进度。
3.根据权利要求1所述的移动终端VoIP通讯音频管理系统,其特征是:所述服务器端还包括与反向代理服务器(1)连接的数据库服务器(4)及备份服务器(5);数据库服务器(4)存储移动终端(6)的用户信息、通话音频元信息。
4.根据权利要求1所述的移动终端VoIP通讯音频管理系统,其特征是:所述移动终端(6)包括智能手机或平板电脑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310634839.6A CN103685485B (zh) | 2013-12-02 | 2013-12-02 | 移动终端VoIP通讯音频管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310634839.6A CN103685485B (zh) | 2013-12-02 | 2013-12-02 | 移动终端VoIP通讯音频管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685485A true CN103685485A (zh) | 2014-03-26 |
CN103685485B CN103685485B (zh) | 2017-05-17 |
Family
ID=50321760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310634839.6A Active CN103685485B (zh) | 2013-12-02 | 2013-12-02 | 移动终端VoIP通讯音频管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685485B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408167A (zh) * | 2014-12-09 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于django扩展Hue中sqoop功能的方法 |
CN109448427A (zh) * | 2018-11-09 | 2019-03-08 | 易的物联科技无锡有限公司 | 一种面向各类停车场的智慧停车管理的系统 |
CN109587182A (zh) * | 2017-09-28 | 2019-04-05 | 深圳市云软信息技术有限公司 | 一种云端服务与本地语音结合的通信组网系统及实现方法 |
CN109637539A (zh) * | 2019-01-29 | 2019-04-16 | 浪潮金融信息技术有限公司 | 一种基于科大讯飞不限时间的所见即所得的语音识别方法 |
CN115314732A (zh) * | 2022-08-04 | 2022-11-08 | 苏州创意云网络科技有限公司 | 一种多用户协同审片方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4829801B2 (ja) * | 2007-01-22 | 2011-12-07 | Necインフロンティア株式会社 | 情報処理端末の出力音設定システム |
CN101605184B (zh) * | 2009-07-23 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种VoIP录音的方法和装置 |
CN102111514B (zh) * | 2009-12-25 | 2013-12-25 | 杭州华三通信技术有限公司 | 一种在因特网协议上承载语音录音系统和录音方法 |
CN102647469A (zh) * | 2012-04-01 | 2012-08-22 | 浪潮(山东)电子信息有限公司 | 一种基于云计算的VoIP时移电话系统及其方法 |
-
2013
- 2013-12-02 CN CN201310634839.6A patent/CN103685485B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408167A (zh) * | 2014-12-09 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于django扩展Hue中sqoop功能的方法 |
CN109587182A (zh) * | 2017-09-28 | 2019-04-05 | 深圳市云软信息技术有限公司 | 一种云端服务与本地语音结合的通信组网系统及实现方法 |
CN109448427A (zh) * | 2018-11-09 | 2019-03-08 | 易的物联科技无锡有限公司 | 一种面向各类停车场的智慧停车管理的系统 |
CN109637539A (zh) * | 2019-01-29 | 2019-04-16 | 浪潮金融信息技术有限公司 | 一种基于科大讯飞不限时间的所见即所得的语音识别方法 |
CN115314732A (zh) * | 2022-08-04 | 2022-11-08 | 苏州创意云网络科技有限公司 | 一种多用户协同审片方法及系统 |
CN115314732B (zh) * | 2022-08-04 | 2024-03-29 | 苏州创意云网络科技有限公司 | 一种多用户协同审片方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103685485B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104125208B (zh) | 数据传输方法及装置 | |
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
US9350763B1 (en) | HTTP tunnelling over websockets | |
CN102769640B (zh) | 用户信息的更新方法、服务器以及系统 | |
KR102208935B1 (ko) | 데이터 교환을 위한 컨텍스트를 설정하는 http 프로토콜을 통한 메시징 api | |
CN103780700A (zh) | 一种实现多源异构系统之间兼容与共享的应用系统和方法 | |
CN102655503A (zh) | 使用共享资源池的资源分配 | |
US20140129511A1 (en) | On-demand viewing of a report with security permissions | |
CN103685485A (zh) | 移动终端VoIP通讯音频管理系统 | |
CN103200212A (zh) | 一种在云计算环境下实现分布式会话的方法和系统 | |
CN106572087B (zh) | 语音外呼系统 | |
CN103297325A (zh) | 在即时通讯系统中与第三方应用交互的方法、装置和设备 | |
CN108418903B (zh) | 嵌入式软件日志远程访问系统及访问方法 | |
CN107864208B (zh) | 一种新媒体资讯融合的方法 | |
CN103581111A (zh) | 一种通信方法及系统 | |
CN103179099A (zh) | 一种接入开放网站平台的统一认证方法和一种网站平台 | |
CN112202744B (zh) | 一种多系统数据通信方法和装置 | |
CN105471700B (zh) | 一种消息处理的方法、装置和系统 | |
CN110365587B (zh) | 设备间通信方法、装置、设备和存储介质 | |
CN204695386U (zh) | 面向多租户的管理信息系统 | |
CN106888264B (zh) | 一种数据交换方法和装置 | |
CN100377522C (zh) | 一种内容分发网络中oma下载的实现方法 | |
CN104035943A (zh) | 存储数据的方法及相应服务器 | |
EP2812860A1 (en) | Retrieving availability information from published calendars |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |