集团电话系统、中心机以及呼叫方法 【技术领域】
本发明涉及通信技术领域,特别是涉及一种应用于集团电话的快速检索电话号码的方法、系统及设备。
背景技术
目前大部分企业都使用集团电话,用于集团内频繁的工作沟通需要。使用集团内一般的单台电话机,只有停止拨号三秒以后,中心机才会正式开始拨号。连接96路终端机的集团电话系统中,中心机内处理器只对应当前呼叫的电话机,所以系统没有负担。但是由于集团电话的中心机需要同时并行处理96路的终端机,若每台终端均等待三秒,对电话服务器的正常运行将是极大的挑战,对于拨打电话者也是极大地时间浪费。
为解决集团电话的反应速度和成本控制,各电信IT公司均投入巨大成本进行研发。比如中国发明专利申请CN03116320.3提供一种快速检索电话簿的方法,是在电子设备内设有中央处理器、电话簿数据库以及一自动检索比对程序,该电话簿数据库储存多组以名称为表示的电话号码。当该电子设备进入搜寻电话簿数据库的程序时,该中央处理器可利用该自动检索比对程序接收该按键被第一次按压时发出的第一层定义符号,并在数据库中查找与该第一层定义符号相匹配的第一次搜索名称,并将该第一次搜索名称显示于屏幕屏上。然后,该中央处理器可利用该自动检索比对程序接收该按键被第二次按压时,其所发出的第二层定义符号,并于该第一次搜索名称中,查找与该第一、二层定义符号相匹配的第二次搜索名称,并将该第二次搜索名称全部显示于屏幕屏上。
上述专利申请技术主要用于手机、小灵通等移动电话的电话薄快速检索,但并不适用于集团电话,因此,有必要继续研发一种专门应用于集团电话的快速检索电话号码的方法。
【发明内容】
本发明主要解决的技术问题是提供一种集团电话系统、中心机以及呼叫方法,可以提高集团电话通信的效率,降低成本。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种集团电话系统,包括中心机、连接中心机的多个电话终端,所述中心机包括:处理器,用于接收来自所述电话终端的携带目标电话号码的呼叫、并返回对应所述目标电话号码的存储位置及其属性信息;号码长度储存单元,储存有多个需要呼出的电话号码长度信息;电话号码存储单元,存储有需要呼出的电话号码数据库,包括电话号码的存储位置及其属性信息;检索单元,在所述处理器接收所述呼叫过程中实时在所述电话号码存储单元的电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码;校验单元,用于在所述处理器接收所述呼叫过程中实时比对已接收到的目标电话号码前部分数字与所述号码长度存储单元中的电话号码长度信息,得到所述目标号码的长度;其中,所述处理器在检索单元检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述校验单元得到的所述长度时,立即返回所述目标电话号码的存储位置及其属性信息到所述电话终端。
其中,所述电话号码存储单元以10叉顺序树的规则存储有所述电话号码数据库,并且在所述10叉顺序树的叶子节点中存储有所述电话号码的存储位置及其属性信息。
其中,所述号码长度储存单元储存的电话号码长度信息包括电话区号所对应的电话号码长度和专用电话号码长度。
其中,包括监控服务器,所述中心机还包括呼叫限制单元,用于在检索单元检索得到所述目标电话号码为未许可呼叫目标时锁定并终止所述呼叫,并返回所述呼叫的电话终端的地址到所述监控服务器。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种集团电话系统中心机,包括:处理器,用于接收来自电话终端的携带目标电话号码的呼叫、并返回对应所述目标电话号码的存储位置及其属性信息;号码长度储存单元,储存有多个需要呼出的电话号码长度信息;电话号码存储单元,存储有需要呼出的电话号码数据库,包括电话号码的存储位置及其属性信息;检索单元,在所述处理器接收所述呼叫过程中实时在所述电话号码存储单元的电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码;校验单元,用于在所述处理器接收所述呼叫过程中实时比对已接收到的目标电话号码前部分数字与所述号码长度存储单元中的电话号码长度信息,得到所述目标号码的长度;其中,所述处理器在检索单元检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述校验单元得到的所述长度时,立即返回所述目标电话号码地存储位置及其属性信息到所述电话终端。
其中,所述电话号码存储单元以10叉顺序树的规则存储有所述电话号码数据库,并且在所述10叉顺序树的叶子节点中存储有所述电话号码的存储位置及其属性信息。
其中,所述号码长度储存单元储存的电话号码长度信息包括电话区号所对应的电话号码长度和专用电话号码长度。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种集团电话呼叫方法,预先储存多个需要呼出的电话号码长度信息与电话号码数据库,包括电话号码的存储位置及其属性信息,所述方法包括步骤:接收来自电话终端的携带目标电话号码的呼叫;在接收所述呼叫过程中实时在所述电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码,并实时比对已接收到的目标电话号码前部分数字与所述电话号码长度信息,得到所述目标号码的长度;在检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述比对得到的长度时,立即呼叫所述目标电话号码。
其中,所述电话号码数据库以10叉顺序树的规则存储,并且在所述10叉顺序树的叶子节点中存储所述电话号码的存储位置及其属性信息。
其中,在实时在所述电话号码数据库中进行检索的步骤中,进一步包括:在检索得到所述目标电话号码为未许可呼叫目标时锁定并终止所述呼叫,并返回所述呼叫的电话终端的地址到监控服务器。
本发明的有益效果是:区别于现有技术集团电话呼叫时无法确定号码长度而必须在拨号后延迟一段时间再呼叫而导致通信效率低、通信成本高的情况,本发明在接收所述呼叫过程中实时在所述电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码,并实时比对已接收到的目标电话号码前部分数字与所述电话号码长度信息,在检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述比对得到的长度时,立即呼叫所述目标电话号码,也就是设计出有效的方法在中心机一侧预先确定呼叫号码的长度,使用户一拨完完整号码即让中心机明白号码已拨完整,可以立即进行呼叫,减少不必要的等待时间,从而有效提高通信效率,降低通信成本。
【附图说明】
图1是本发明集团电话系统第一实施例的原理框图;
图2是本发明集团电话系统第二实施例的原理框图;
图3是本发明集团电话呼叫方法的流程图;
图4是初始化10叉顺序树的流程图;
图5是外围系统与本发明中心机交互的示意图;
图6是示例性给出一个电话号码“010114”的搜索路径,以及10叉顺序树的数据组织方式示意图;
图7是利用10叉顺序树进行号码搜索的流程图。
【具体实施方式】
在嵌入式系统中低硬件资源,数据处理量大而又要求高实时性,不能让用户有等待的感觉。因此,必须要找到一种方法,能够实时地响应用户输入,并快速定位号码存储位置,而且可以进行技术方面的限定,可以限制某些特定号码的拨出,特别是需要节约成本的中小公司,可以设定长途锁定或者收费讯台锁定,使之无法拨出。本发明主要在于使外围系统可以快速定位电话号码的存储位置并能够返回相应属性,满足实时系统对电话号码检索的高效率要求。此技术特别应用于集团电话中,例如:一个中心机处理96路终端机的号码输入,搜索确定已输入的号码是否已经是完整的号码并立刻发起呼叫,不同于平常电话默认的三秒内不输入才发起呼叫。
本发明还提供一种方法,从外围系统接收号码并快速定位号码的存储位置,判断此号码是否为许可拨打的,若可拨打,则一旦符合长度就立刻拨出。
当然,本方法所述的96路终端机的号码输入,实际应用中并不限于此。以下结合附图详细说明本发明。
参阅图1,本发明集团电话系统主要包括中心机、连接中心机的多个电话终端,所述中心机包括:
处理器,用于接收来自所述电话终端的携带目标电话号码的呼叫、并返回对应所述目标电话号码的存储位置及其属性信息,当然处理器还可以处理其他任务;
号码长度储存单元,储存有多个需要呼出的电话号码长度信息,比如存储区号为“010”所对应的后面电话号码长度,为8位;
电话号码存储单元,存储有需要呼出的电话号码数据库,包括电话号码的存储位置及其属性信息;
检索单元,在所述处理器接收所述呼叫过程中实时在所述电话号码存储单元的电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码,比如处理器接收到电话号码第一个数字“0”,检索单元实时在电话号码数据库中检索电话号码第一个数字为“0”的号码,并根据后续的电话号码数字继续检索;
校验单元,用于在所述处理器接收所述呼叫过程中实时比对已接收到的目标电话号码前部分数字与所述号码长度存储单元中的电话号码长度信息,得到所述目标号码的长度;
其中,所述处理器在检索单元检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述校验单元得到的所述长度时,立即返回所述目标电话号码的存储位置及其属性信息到所述电话终端。
本发明工作时,譬如电话终端拨出010后,校验单元自动比对已接收到的“010”并得到所述号码长度存储单元中的“8位”电话号码长度信息,处理器自动默认电话终端再拨出8位就立刻呼出,不用等待。并且,若后面拨出为114,10086,95598等专用号码时,也一对应上就立刻呼出,不需延时呼叫。
区别于现有技术集团电话呼叫时无法确定号码长度而必须在拨号后延迟一段时间再呼叫而导致通信效率低、通信成本高的情况,本发明在接收所述呼叫过程中实时在所述电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码,并实时比对已接收到的目标电话号码前部分数字与所述电话号码长度信息,在检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述比对得到的长度时,立即呼叫所述目标电话号码,也就是设计出有效的方法在中心机一侧预先确定呼叫号码的长度,使用户一拨完完整号码即让中心机立即明白号码已拨完整,可以立即进行呼叫,减少不必要的等待时间,从而有效提高通信效率,降低通信成本。
为取得更高的通信效率,所述电话号码存储单元以10叉顺序树的规则存储有所述电话号码数据库,并且在所述10叉顺序树的叶子节点中存储有所述电话号码的存储位置及其属性信息。
此外,所述号码长度储存单元储存的电话号码长度信息包括电话区号所对应的电话号码长度和专用电话号码比如“中国移动公司服务电话”的长度。
参阅图2,为取得更好的成本效果,本发明还可以进一步增设监控服务器,所述中心机还包括呼叫限制单元,用于在检索单元检索得到所述目标电话号码为未许可呼叫目标时,由处理器锁定并终止所述呼叫,并返回所述呼叫的电话终端的地址到所述监控服务器,利于监控人员进行实时或事后查询,以对公司员工进行有效管控。
再参阅图1和图2,本发明还提供一种集团电话系统中心机,包括:
处理器,用于接收来自电话终端的携带目标电话号码的呼叫、并返回对应所述目标电话号码的存储位置及其属性信息;
号码长度储存单元,储存有多个需要呼出的电话号码长度信息;
电话号码存储单元,存储有需要呼出的电话号码数据库,包括电话号码的存储位置及其属性信息;
检索单元,在所述处理器接收所述呼叫过程中实时在所述电话号码存储单元的电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码;
校验单元,用于在所述处理器接收所述呼叫过程中实时比对已接收到的目标电话号码前部分数字与所述号码长度存储单元中的电话号码长度信息,得到所述目标号码的长度;
其中,所述处理器在检索单元检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述校验单元得到的所述长度时,立即返回所述目标电话号码的存储位置及其属性信息到所述电话终端。
本发明中心机作为本发明集团电话系统的关键设备,为有效提高通信效率以及降低通信成本有重要贡献。
其中,所述电话号码存储单元以10叉顺序树的规则存储有所述电话号码数据库,并且在所述10叉顺序树的叶子节点中存储有所述电话号码的存储位置及其属性信息。
其中,所述号码长度储存单元储存的电话号码长度信息包括电话区号所对应的电话号码长度和专用电话号码长度。
参阅图3,本发明还提供一种集团电话呼叫方法,其预先储存多个需要呼出的电话号码长度信息与电话号码数据库,包括电话号码的存储位置及其属性信息。所述方法包括以下步骤:
步骤301:接收来自电话终端的携带目标电话号码的呼叫;
步骤302:在接收所述呼叫过程中实时在所述电话号码数据库中检索得到对应所述呼叫所携带的目标电话号码,并实时比对已接收到的目标电话号码前部分数字与所述电话号码长度信息,得到所述目标号码的长度;
步骤303:在检索得到所述目标电话号码、并且已经接收到的目标电话号码长度正好符合所述比对得到的长度时,立即呼叫所述目标电话号码。
其中,为进一步提高通信效率,加快拨号过程,所述电话号码数据库以10叉顺序树的规则存储,并且在所述10叉顺序树的叶子节点中存储所述电话号码的存储位置及其属性信息。
而且,为规范呼叫行为,有效节约通信费用,在步骤302中还可以进一步包括:
在检索得到所述目标电话号码为未许可呼叫目标时锁定并终止所述呼叫,并返回所述呼叫的电话终端的地址到监控服务器。比如在检索得到所述目标电话号码为国际长途号码时即终止该呼叫。
以下继续详细说明本发明集团电话呼叫方法一些细节:
1)按照10叉顺序树的规则存储电话号码,制作电话号码数据库:
参阅图4,首先进行初始化,将电话号码列表按照10叉顺序树的要求存入内存。10叉顺序树的根节点为起始节点,根节点有10个子节点,代表首个号码为0-9。每个子节点都各自有10个子节点,代表下一个号码0-9。依次类推,在叶子上存储有电话号码的存储位置及其属性等信息。而从根节点走到叶节点上的路径则显示完整的电话号码。
步骤一:打开电话号码数据库,如果是第一次取第一个,否则取下一个号码。如果已经取完则表示初始化完成。
步骤二:将取到的电话号码数据加入10叉顺序树。
A:取第一个号码,将指针定位到该号码对应的子节点上。
B:取下一个号码,并将指针定位到该号码对应的子节点上,如果不存在先创建再定位。
C:重复B过程,直至取到最后一个号码,并在10叉顺序树上创建叶子节点,并将该电话号码有关的数据存储在该叶子节点上。
步骤三,重复上述步骤一、步骤二直至取到最后一个电话号码。
2)按照10叉顺序树的规则检索电话号码:
参阅图5、图6,图7,外围系统终端机每触发产生一个号码,即在电话号码数据库的10叉顺序树上查找。每次查找都是从上次产生号码时查找的位置上继续,因此每次查找的复杂度为o(10)。直至查找到叶子本次查找便告结束。
步骤一:将指针定位到10叉顺序树的根节点;从外围系统接收第一个号码,将指针定位到该号码对应的子节点。
步骤二:从外围系统接收下一个号码。将指针定位到该号码对应的子节点。若该节点是叶子节点表示定位成功,检索结束。
步骤三:重复步骤二,直至找到叶子结点。
3)返回查询结果;
若输入的号码是登记在案的保存在电话号码数据库的号码,最后一定能够找到一个叶子结点。找到后将该结点存储的信息返回给外围系统。
步骤一:将指针定位到号码对应的叶子结点。
步骤二:读取该叶子结点存储的信息,并返回给外围系统。
以下举一上述10叉顺序树结点的数据结构的例子:
typedef struct tagTREE_NODE
{
U32 ulHandle;/*保留给用户使用的参数句柄*/
U32 ulMagic; /*魔术字0xAA55AA55*/
U8 ucMember;/*该节点所带有效子节点的数量*/
U8 ucKeyPos;/*该节点在父节点的哪一个叶分支上*/
U8 aucKey[MAX_SUB_NODE];/*子节点键值数组*/
struct tagTREE_NODE*apstSubTree[MAX_SUB_NODE]; /*该节点对应的子节点*/
struct tagTREE_NODE*pstFather;/*该节点所属的父节点*/
} TREE_NODE_S;
综上,本发明在提高通信效率和降低通信成本方面具有突出优势,在集团电话中,为提高效率和节约成本,以及为快速呼出或者限制某些特定号码的呼出,本发明提出对员工拨出的电话进行实时监控,若符合位数,立刻呼出,减少不必要的等待时间,也缩短其他员工拨出电话的反应时间。而且对企业而言,若员工拨打国际长途可由本发明直接进行控制锁定,节约成本。本发明还侧重对企业集团电话的优化与控制,利用10叉树的检索方案,保证人力时间支出的最少化与控制某些特定号码的拨出。
有鉴于目前大部分公司都使用集团电话,而由于通讯产品竞争激烈,任何一点有利于消费者的改进或贴心设计,都会为赢得更大的市场提供强有力的支持。本发明基于此进行技术缺陷的改进,发明人经过长久努力与实验,终于开发设计出本发明所述快速检索电话号码的方法、设备及计算机程序。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。