查询复制式数据库的设备与方法 本发明涉及复制式数据库的网络结构,尤其涉及在网络中各复制式数据库间提供均匀的查询负载分配。
在80年代初,被称为网络控制点(NCP)的集中式数据库由AT&T公司引入信令网,以支持信用卡呼叫业务和800业务。这种具有网络控制点的网络结构支持智能网业务以便在应答网络查询时提供呼叫处理信息。
例如,用于800业务的网络控制点在全美被广泛采用,以支持由联邦通信委员会所授权的800业务数据库。在这种具有800业务的网络结构中,800号呼叫从一本地路由器或一端局接至一个能够向网络控制点发送网络查询的网络交换设备,网络控制点将800号码译成一相应路由号,并将此路由号送回网络交换设备。根据这个路由号,网络交换设备随之将此呼叫传送至一个合适的网络载体。
网络控制点被设计成能够承受业务的增长及附加业务的出现。如,网络控制点被设计成为每小时可处理一百多万次查询的高容量系统。而且,使用网络控制点结构实现了诸如受话人付费业务、第三方付费业务等可选计费业务(ABS)。出于预防火灾、水灾等自然灾害方面的可靠性原因,网络控制点包括含有相同记录的复制式数据库。
随着越来越多的通信业务被引入到网络以及日益复杂的业务,开发一个能够确保在可用网络控制点间均匀处理查询的系统成为一项重要的任务。例如,在电信网中,包括一套复制式数据库地控制点接收到能在任一复制式数据库中进行处理的大量查询时,将呼入查询仅接至可用数据库是非常必要。
因此,本发明的一个目的是提供可靠的方法和网络,它们能够处理分布应用的大量查询。
本发明的另一更具体的目的是提供这样的方法和网络,它们能在包含相同软件和数据的可用数据库中均匀分配查询量。根据本发明的原理,本发明的这些和其他目的的实现是通过在一个具有响应网络状况的复制式数据库的网络结构中,提供一个均匀的查询负载分配实现的。该网络包括一个带有复制式数据库的相关索引号、点编码和地址的循环路由表。网络结构通过将索引号增加到后续索引号来搜索循环路由表,以应答呼入查询。例如,通信网内的一台交换机可以通过搜索循环路由表来应答各呼入查询。或者,在电信网中被设计用于交换机与数据库之间的路由消息的一种传输也可以通过搜索循环路由表来应答各呼入查询。循环路由表的搜索提供查询所指向的可用数据库地址。
本发明的进一步特征,特性及各种优点将通过对最佳实施方式的下列详细描述及相应图示而得到更明显的体现。
图1是一示意网络的简化框图,该网络可根据本发明操作。
图2是本发明的循环路由引擎的(engine)输入、输出的一个示意性实施方式。
图3是一根据本发明可使用的示意性循环路由表。
图4a-b(统称为图4)是实现本发明一示意性实施方式的步骤的流程图。
图5是实现本发明另一示意性实施方式的步骤流程图。
在图1所示的示意性实施方式中,显示了一个用于查询复制式商业数据库的有代表性的通信网络结构。如在此应用中所使用的一个分段目录(“SD”)涉及附加到常规电信网的示范性网络控制点或复制式数据库。各个“SD”一般包含相同的软件和用户数据,并用于定位业务处理器或网络应用处理器,这些处理器可根据所拨号码进行智能网业务。一个信号传输点(“STP”)是指用于在交换机和象诸“SD”这样的数据库之间传送信令消息的高容量分组交换机。Lu-cent的4ESS(“4ESS”)便是电信网中一种具有代表性的交换机。
本发明的示意通信网络100包括一套SD、STP和4ESS,上述这三者通过7号信号系统链路(“SS7”)相互连接,该信号系统在北美是以56kb/s进行正常工作的,在欧洲以64kb/s进行正常工作。并不需要把所有的SD与STP相互连接,但这里为简便起见而这样表示。例如,SD1 102只连接至STP1 108,而SD2 104只连接至STP2 110。由于每一SD都执行相同的应用,并包含一份与用户数据相同的备份,所以4ESS交换机112可以向能正确处理并应答查询的任意SD发送一个查询。
本发明的最佳实施方式提供4ESS交换机112以实现循环路由算法,该算法使得能够在复制SD1 102,SD2 104和SD3 106间均匀分配呼入查询负载。因此,4ESS交换机112将接收到的第一个呼叫查询发送至SD1 102,下一个呼叫查询送至SD2 104,再后续呼叫查询送至SD3 106。用来实现循环路由算法的4ESS交换机112需考虑不同的因素,如SD的SS7路由可接入性、SD的SS7路由阻塞状态以及SD应用的有效性等,这些将在下面更为详细地描述。
本发明的另一可选实施方式允许在STP1 108和STP2 110配对处执行循环路由算法,以便减轻4ESS交换机112的处理负担。用于STP1 108和STP2 110的实现算法与上面所描述的4ESS交换机112的实现算法几乎完全相同。区别参考图4、图5。
图2显示了4ESS交换机112的示意性输入200和输出204,其中4ESS交换机112实现了本发明的循环路由算法202(见图1)。如图2所示,左栏列出了接入4ESS交换机112(图1所示)的输入200的头信息(header),同时右栏列出了由4ESS交换机112(图1所示)产生的输出204的头信息。这些头信息是被传送的同一消息的所有部分。输入200和输出204的内容,至少可分类成如下几种类型的头信息:消息传送部分(“MTP”)头信息206和210,信号连接控制部分(“SCCP”)头信息208和212,以及事务处理能力,应用部分(“TCAP”)头信息214和216。
MTP头信息206和210的每个均包括但不仅限于以下参数:目的点编码(“DPC”),源点编码(“OPC”)和信号链路选择(“SLS”)。DPC是消息发往的地址。OPC指示消息源,使得对查询的应答能够送回发出该消息的信号点。 SLS用于对SS7网络中通过一条链路设置的信号消息进行负载分配。对于SCCP头信息208和212的每个均包括以下参数:消息类型,服务等级和被呼方地址。在典型SS7路由中,有一项功能称为全局名称转换,用于更高层的路由选择例如,800查询。为了均匀分配负载,全局名称转换也用于需要本发明的循环路由的呼叫。TCAP头信息214和216的每个均包括应用查询信息,这是用于呼叫应用的协议的一部分,它将大部分应用特定信息从交换机传送至数据库,使得数据库能应答一个查询。
例如,一个要求查询数据库的接入呼叫需要知道查询发送到的地址。对于一个要求查询的循环路由的呼叫,这样一个呼叫的DPC被设置为4ESS交换机112本身(见图1)。如果交换机拥有循环路由表,那么4ESS交换机112(图1)就在被呼叫方地址内查看路由标志。路由标志可设置为点编码路由或全局名称路由选择。如果呼叫与全局名称路由选择相关,那么4ESS交换机112(图1)会查看被呼叫方地址的转换类型和全局名称地址。如果转换类型和全局名称地址表示循环路由,则4ESS交换机112便决定采用循环路由算法202,并利用输入200转到参考图3所述的循环路由表中查找,此路由表该查寻提供输出204,该输出204包括指向一特定数据库的DPC。该数据库标注为SDn,可以是SD1 102、SD2 104或SD3 106(图1)中的任何一个。此后,该查询便被4ESS交换机112(图1)发送到选定的SDn,接着,此数据库SDn处理该查询,并将对查询的应答送回至4ESS交换机112(图1)。
图3中示意性说明循环路由表300,此表包括索引号302,点编码304和子系统号306列。索引号的范围从0到n-1,n表示网络100(图1)中第n个复制数据库SDn,该SDn在4ESS交换机112(图1)端对一呼入查询是可用的。点编码提供指向一对应数据库的关键信息片。另外,由于子系统号在每一数据库内均被提供,可以有包含不同应用如800业务、专用网络业务等的多种子系统。
图4为一流程图,说明了当循环路由算法在4ESS交换机112内被执行时,根据最佳实施方式所应执行的步骤的次序。
在步骤400中,4ESS交换机112(图1)接收用于路由的SS7消息,该SS7消息是具有MTP206(图2)和SCCP208(图2)信息的输入(图2)。根据该信息,4ESS交换机112在步骤402中决定此SS7消息是否需要一全局名称转换,例如,800业务中需要将一800号码转换成数据库的一个SS7网络地址,该数据库可进行将800号码转换成一常规路由号码的应用。为了决定是否需要全局名称转换,4ESS交换机112(图1)要检查SCCP头信息208(图2)的路由标志。如果路由标志设置为1,则SS7消息不需要全局名称上的路由选择。如果SS7消息不需全局名称路由选择,那么4ESS交换机112(图1)在步骤404中执行点编码路由,该路由不调用循环路由算法。
另一方面,若路由标志设置为0,那么SS7消息需要全局名称上的路由选择。若SS7消息需要全局名称路由选择,则4ESS交换机112(图1)在步骤406中决定全局名称转换是否需要通过检查SCCP头信息208中的转换类型和全局名称地址来使用循环路由算法。若转换类型被设置为其他全局名称转换,如800业务或专用网络业务,4ESS交换机将在步骤408中执行指定路由选择。若转换类型和全局名称地址设置为循环路由,那么4ESS交换机112将搜索参考图3中所述的循环路由表300(图3)。因此,转换类型和全局名称地址一般都用于决定循环路由。
4ESS交换机112(图1)在步骤410中利用模数n作计数器,使得n由0开始,向n-1递增,当下一个计数开始,指针n重新回到0。每一个索引n,指向表中包含点编码或MTP目的点编码(“DPC”),以及子系统号或用于特定复制式数据库(见表300,图3)的SCCP子系统号(“SSN”)地址的数据。
更具体地讲,PCO代表指向最后一个点编码304(图3)和子系统号306(图3)的一个指针并且一个呼叫查询通常被发送至子系统号306。该指针PCO用在对于相同呼叫需要重新进行查询的情况下。如果对于初始查询,没有收到任何应答,则需要进行重新查询。PCO用于确保一重新查询不被送到同一数据库。PCI代表索引n的当前指针位置。PCL代表用于需要循环路由选择的前一查询的指针。指针PCI在步骤410中递增1,使得PCI被设置为PCL的下一个计数。
在步骤412中,4ESS交换机112决定是否这一查询是有关4ESS的一特定呼叫的第一次查询的重复。例如,若对于一个呼叫的首次查询没有收到任何应答,则重复查询便会出现。若4ESS交换机112(图1)确定当前查询是重复查询,则4ESS交换机112(图1)便在步骤414中检查是否PCI=PCO,即是否点编码索引指向当呼叫首次到达4ESS交换机112(图1)时被查询的源点编码。若PCI=PCO,则4ESS交换机112在步骤416中使索引递增1,以便让查询指向下一个数据库。
在步骤418中,4ESS交换机112判定是否PCI=PCL+1,即是否指针指向被发自交换机的前一查询进行成功查询的数据库。4ESS交换机112还检查是否指针在结束后能回到开始其查询路由选择查询的位置,见表300。(图3)
若指针指向表300中4ESS交换机112开始其查询序列的位置,则4ESS交换机112(图1)在步骤420中提供一条错误消息。这一错误消息被称为SCCP错误。否则,4ESS交换机112(图1)返回步骤412。若4ESS交换机112(图1)在步骤412中判定当前查询不是一重复查询,并且点编码索引不指向源点编码(在前一查询中被发送的点编码),则4ESS交换机112在步骤422中判定是否激活跳转控制功能。跳转控制是由一网络管理者所使用的人工控制,可使查询不致于因为某些原因,如,位于某一特定地址的数据库内所发现的维护问题等等而被送到那一特定地址。如果4ESS交换机112(图1)确定跳转控制是激活的,则4ESS交换机112(图1)便转至步骤416,通过增加计数器在下一地址尝试进入数据库。在步骤418中,4ESS交换机112(图1)判定当进入算法时,是否点编码索引指向源指针值。若它再次指向同一数据库,4ESS交换112(图1)在步骤420中提示一错误消息。若指针不指向同一数据库,则4ESS交换机112循环回到步骤412。
否则,4ESS交换机112(图1)在步骤424中判断由4ESS交换机112(图1)至SDn(图1)的SS7路由选择是否是不可访问的MTP路由。MTP路由不可访问在算法中被表示为传输禁止(“TFP”)。例如,STP108和STP110(图1)可向4ESS交换机112发送TFP消息,以便表明一特定数据库的不可访问。若TFP消息在所有到数据库的路由上均被接收到,即MTP路由不可访问,那么4ESS交换机112(图1)将转至步骤416,以增加计数。
否则4ESS交换机112在步骤426中判断目的地是否为子系统禁止(“SSP”),亦即是否收到一个SSP消息。SSP消息表明一特定子系统号存在问题,如所有SD中的一个SD。若SSP消息被收到,4ESS交换机112(图1)将转至步骤416并增加计数。
否则,4ESS交换机112(图1)在步骤428中判断是否是MTP路由阻塞,这里称之为“TFC”。若是MTP路由阻塞,4ESS交换机112(图1)在步骤430中判断网络控制是否在位以允许4ESS交换机112继续搜索循环路由表,以获得可用地址,这被称为“扩展控制”。若扩展控制并未激活,则不进一步搜索循环路由表以保护网络,并且一个SCCP错误消息在步骤432中被发送至查询始发器。而且,查询消息被丢弃,一个相关测量被进行。
若步骤428中没有MTP路由阻塞,则4ESS交换机112(图1)在步骤434中判断一网络应用过载(“NM”)控制是否有效的。若一NM控制是有效的,则4ESS交换机112在步骤436中判断用于NM控制的NM扩展控制是否在位。若扩展控制不在位,则在步骤438中,将操作通知4ESS交换机112(图1),限定测量并丢弃查询。若扩展控制是有效的,则4ESS交换机112在步骤416中继续搜索循环路由表。
若在步骤434中NM控制是无效的,则4ESS交换机112(图1)在步骤440(图4b)中使用指针端的可用地址来构成消息传送部分(“MTP”)目的点编码(“DPC”)及信令连接控制部分(“SCCP”)被呼方地址(“CDPA”)、子系统号(“SSN”)。在步骤442中,4ESS交换机112(图1)通过MTP路由表和来源于MTPSLS表的信令链路所确定的路由上传送消息。在步骤444中,传送这个查询的索引被设置为PCL。PCL用于到达4ESS交换机112(图1)的需循环路由的下一个查询。
在步骤446中,PCO被设置为指针PCI的索引,使得PCI当前设置的地址在需要重新查询时不被使用。在步骤448中,PCO被记录为创建查询的初始过程。该记录储存在呼叫寄存器中以用于重新查询的呼叫。
此过程结束于步骤450。
图4中步骤的次序并不重要,如步骤426能够在过程中早些时候出现,如可在步骤422与424之间出现。
图5显示的是通过利用一STP处理器取代4ESS交换处理器,将图4中方法应用于一可选实施方式中。因此,STP108和110(图1)这一对STP执行循环路由算法,以在SD1102,SD2104和SD3106(图1)之间均匀分配查询。除了4ESS交换机112(图1)的特定步骤412,414,434,436,438,446和448(这些步骤在图4的虚线框中)以外,图5中的许多步骤与图4中的步骤相同或相似。步骤的对应关系通过使用有关图4、5中相同或相似步骤的相同后两位参考号码数字来表示。因此,图5中各步骤的讨论能够被省略一些。这是因为对图4中对应步骤已经进行了具体讨论。
在步骤500中(类似于图4中的步骤400),STP108或110通过4ESS交换机112(图1)接收到一个SS7消息。步骤512中的STP1108或STP2110(图1)判断SS7消息是否需要一个全局名称转换。具体一些讲,STP108或110(图1)在SS7消息的SCCP头208(图2)中查询路由标志,以决定全局名称路由选择的必要性。若路由标志指示不需要全局名称路由选择则步骤504中的STP1108或STP2110(图1)就在SS7网络内执行点编码路由选择。
若路由标志指示全局名称路由选择,则步骤506中的STP1108或STP2110(图1)判断循环路由选择是否被指定。 STP1108或STP2110(图1)在SCCP头信息内查找转换类型和全局名称地址。若转换类型和全局名称地址被设置成除需要循环路由选择的类型以外的任何一种全局名称地址转换类型,则步骤508中的STP1108或STP2110将执行指定的全局名称转换。
若转换类型和全局名称地址指示需要循环路由选择,则STP1108或STP2110(图1)会在步骤510中将循环路由表300中最后那个成功查询的索引号增1。
在步骤522中,STP1108或STP2110(图1)判断跳转控制功能是否有效。若STP108或110判定跳转控制是打开的,则步骤516中的STP1108或STP2110(图1)将循环路由表300(图3)中的索引号再次增1,使得点编码指向下一个可用数据库。
在步骤518中,STP1108或STP2110确保点编码没有指向步骤510之后被指向并已经被检查的同一数据库。如果所指向的是已被检查的同一数据库,则STP1108或STP2110(图1)在步骤520中提示一错误消息。否则,STP1108或STP2110(图1)返回步骤522。
剩余步骤524,526,528,530,532,540,542,544和550各自同图4中的相应步骤类似,所以无需再作描述。
应该理解,前面所述只是本发明原理的示意性说明,不同的修改形式可以由那些熟练技术人员在不违背本发明范围和实质的情况下来实现。例如,本发明的可能应用的某些特定例子包括:计算机系统的控制接入,事务处理系统,语音信箱或语音应答系统以及安全设施如楼房、监狱、军事装备,和其他一些安全度高的设施。本发明可以只供那些特定用户如管理者、或其他高层用户使用。