一种实现分组语音广播的装置及方法
技术领域
本发明涉及到现有的互联网语音广播技术,特别是一种实现分组语音广播的装置及方法。
背景技术
现有的互联网语音广播技术通常是一个终端对多个终端进行广播,并不能实现对特定终端的分组广播,这也使得目前大部分互联网语音广播局只能限于对某一个组的组播,而其他组本应该需参加的成员却不能参加,一定程度上降低了其普遍适用性。
此外,随着科技时代的进步,各种小区、校园,各种会议等都将越来越离不开分组广播语音系统,这里隐藏着巨大的需求空间,而现有技术不能同时进行多组组播、不能跨组进行不同终端任意选择组播的缺点等等都仍有待于不断的完善和改进。
发明内容
针对上述现有技术中的不足,本发明提供了一种实现分组语音广播的装置及方法,其可以对不同分组中的成员进行选择性组播,不会局限于只能对某一个组进行组播,所以更加符合人们的正常逻辑思维方向。
本发明解决其技术问题所采用的技术方案为:
一种实现分组语音广播的装置,其基于一种新的互联网分组语音广播方法进行对特定终端的一组或多组分组语音广播,该装置包括,
多个终端,其中每个终端自身都带有用于识别的ID号及IP地址;
上位机,其存储有记录着所述多个终端ID号及IP地址的一组或多组分组表,并可在根据分组表内的信息访问第N终端的同时设置对应的中转地址。
作为上述技术方案的改进,所述多个终端中包括一个或多个第一终端,其在需要对一组或多组终端进行广播的时候,向上位机发起通信指令,并将所需广播的语音数据传输至由所述上位机设置的对应的中转地址中供第N终端访问。
作为上述技术方案的改进,所述上位机、多个终端之间通过网络连接通信。
一种实现分组语音广播的方法,其基于一种新的互联网分组语音广播方法进行对特定终端的一组或多组分组语音广播,该方法包括以下步骤,
第1步骤,第一终端做为发送端,向上位机发送请求指令后,等待其响应,上位机响应后才能执行相应的操作,否则手动结束并向上位机发送停止信号;
第2步骤,上位机接收第一终端的指令请求,然后做出判断:
(1)收到全播请求时,要判断当前所有在线ID中是不是有正在执行的全播ID,若没有,返回允许信号并分配广播地址;若有,则丢弃;
(2)收到组播请求时,判断当前所有在线ID,是不是有ID正在执行当前请求组组播,若没有,返回允许信号并分配广播地址;若有,则丢弃;
(3)收到单播或对讲请求时,要判断目标ID是不是正在执行其他语音操作,若没有,返回允许信号并向目标ID发送响应信号;若有,则丢弃;
第3步骤,第N终端收到来自上位机的指令后,访问中转地址执行相应的读操作,直到停止信号到来。
本发明带来的有益效果为:本发明提供的一种实现分组语音广播的装置及方法,可以在进行互联网语音广播时对不同分组中的成员进行选择性组播,发起者可以根据需求邀请任意全体成员(需要服务器授予权限),这避免了现有技术中只能对某一个组进行组播、而其他组本应该需参加的成员却不能参加的缺陷,符合了人们的正常逻辑思维方向,操作简单明了,有效的节约了网络流量,也无需向每位成员发送数据。此外,本发明还能同时多组组播,更满足了多样化应用的需求。
附图说明
下面结合附图和具体实施例对本发明作进一步说明:
附图1是本发明的功能示意图;
附图2是本发明的连接关系示意图;
附图3是本发明终端作为发送端时的流程图;
附图4是本发明终端作为接收端时的流程图;
附图5是本发明上位机功能流程图。
具体实施方式
现有的互联网语音广播技术通常是一个终端对多个终端进行广播,并不能实现对特定终端的分组广播,参照图1本发明的功能示意图:其主要可分为上位机1和多个终端两部分,每个终端自身都带有用于识别的ID号及IP地址,终端互相并不知道对方的ID号码和IP地址(也不需要知道),而在上位机1中存储有记录ID号及IP地址的分组表。
现在需要其中一个终端(第一终端2)对多个但不是全部终端进行语音通信,即部分语音广播,那么可以通过以下步骤实现:当第一终端2发起通信请求时,上位机1对指令做出判断并执行相应操作,在根据分组表内的信息访问第N终端3的同时,上位机会设置一个对应的中转地址4供各终端访问,而与此同时,第一终端2也会将语音广播数据信息传输至中转地址4内以便第N终端3接收、译码并最终完成整个广播过程。在附图1中我们还可以得到的信息是分组表内记录的终端并非所有,而是根据需要自行选择的部分终端,所以部分语音广播的需求就得到了解决。当同时有多个第一终端2发起通信请求时,就相应的会有多个设置的中转地址4出现,那么也就可以同时进行多组分组的部分语音广播。当然对于其中多组分组表中ID重复出现的问题,在第一终端2发起通信请求后上位机1便会进行判断,这一点将会在之后介绍。
附图2是本发明的连接关系示意图,本发明中上位机1与各终端都是通过网络连接通信的,若断开连接,两端发送的数据都丢弃。附图3和附图4所示分别为本发明终端作为发送端、接收端时的流程图。作为发送端时,我们可以称之为第一终端2,当其向上位机1发送请求指令后,等待上位机1响应,上位机1响应后,便可执行相应的操作,最后发送者手动停止操作,并向上位机1发送停止信号。作为接收端时,我们暂且可以像在附图1中所示那样称之为第N终端3,其收到来自上位机1的指令后,执行相应的操作,直到停止信号到来。当所接收指令为单播、组播、全播指令时,各终端只能执行读操作,即只能从中转地址4读取数据,不能发送数据;当所接收指令为对讲时,对应终端则可以进行读写操作,不仅能从中转地址4读取语音广播数据,还可以发送数据。
附图5所示是本发明的上位机功能流程图。当上位机1接收到来自第一终端2的指令时,首先会对广播请求的类型进行分析并做如下的步骤:
(1)收到全播请求时,要判断当前所有在线ID中是不是有正在执行的全播ID,若没有,返回允许信号并分配广播地址;若有,则丢弃;
(2)收到组播请求时,判断当前所有在线ID,是不是有ID正在执行当前请求组组播,若没有,返回允许信号并分配广播地址;若有,则丢弃;
(3)收到单播或对讲请求时,要判断目标ID是不是正在执行其他语音操作,若没有,返回允许信号并向目标ID发送响应信号;若有,则丢弃;
当不同的组同时进行组播的时候,如果某一成员正在其他组进行组播,服务器将会自动过滤掉后来者的组播请求,非正在组播的成员都将受到邀请进入组播状态。各终端在收到来自上位机1的指令后,根据分配的广播地址访问中转地址4并执行相应的读或读写操作,直到停止信号到来。至此不仅可以实现对特定终端的分组广播,实现多组广播同时进行。
所以通过上述介绍可知在实际生活中通过本发明进行互联网语音分组广播时,发起者在服务器(上位机1)内将需要参与的成员(多个终端)选择一下即可,也可以将程序拉入新建的一个群组里就能实现语音通讯,操作简单明了。发起者将数据发送至一个公共广播IP地址区(中转地址4),参与者将通过服务器解析去该地址获取语音数据,有效的节约了网络流量,也无需向每位成员UDP发送数据。
最后需要提到的是,尽管已经参照本发明的具体实施例显示和描述了本发明的基本情况,但本领域的技术人员应当理解,以上所述仅为本发明的优先实施方式,只要以基本相同手段实现本发明目的的技术方案都应属于本发明的保护范围之内。