CN1091577A - 通用分析系统 - Google Patents
通用分析系统 Download PDFInfo
- Publication number
- CN1091577A CN1091577A CN93114351A CN93114351A CN1091577A CN 1091577 A CN1091577 A CN 1091577A CN 93114351 A CN93114351 A CN 93114351A CN 93114351 A CN93114351 A CN 93114351A CN 1091577 A CN1091577 A CN 1091577A
- Authority
- CN
- China
- Prior art keywords
- analysis
- analysis module
- primitive
- module
- advanced
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54575—Software application
- H04Q3/54591—Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Abstract
一种通用分析系统,用以完成工业过程控制中的
分析。该系统包括一个通用分析程序和一个分析控
制数据,前者用以在一组数据上完成至少一种分析,
后者用以控制对该数据组的分析。根据本发明,通用
分析程序包括多个分析原语,分析控制数据包括多个
分析模块。一个分析可以由一组分析模块构成,并通
过利用至少一个分析原语对该组分析模块的解释完
成分析。
Description
本发明涉及一种通用分析系统,该系统用以对各种各样装置,尤其是电话接线器内的信息进行各种分析。
概括地说,本发明利用一种新颖的数据分析方法,来取代迄今为止所沿用的、通过在一个专用于分析的计算机程序中执行每一分析算法来完成分析的方法。本发明的这一新颖方法企求通过建立一种通用分析程序,以及对于受到通用分析程序作用的各种数据进行分析时所存在的不同点的说明,来替代传统技术中用不同的计算机程序处理不同类型的分析。因此,这种方法是以数据驱动为特征,而不是以建立好的,软件驱动为特征。用户可以用一种简单的格式来定义数据,它与计算机程序设计语言格式不同,只需少量或根本不需要专门的技术、知识、训练或熟练度。
从以下的详细描述中可以发现,本发明的新方法在广泛的工业应用中具有优点。一般来说,任何生产过程控制系统都必须定做各种设备,并对每台设备进行周期性的修改,以适应加至该过程的新的输入和来自该过程的输出,这样的系统均可以得益于本发明的技术。这样一种生产过程的基本例子,可以在远程通信领域,尤其在电话用户之间的通话连接中找到。出于以下讨论的目的,术语“接线器”或“接线机”根据不同应用可以包括长途话务控制接线器、专用分区接线器或市话交换接线器。
如今,电话服务通过集中交换提供给大量的顾客或电话用户。位于中心局的中央交换机控制切换至市内电话用户或来自市内电话用户的通话,并通过中继线与网络中的其它中心局进行通讯。在简单的通话处理中,每个中心局必须完成某些功能。例如,中心局必须监视用户,并当用户的电话摘机且发出呼叫时能察觉到用户需要服务。一旦中心局识别呼叫已产生,即检测到指定线路的摘机状态时,中心局必须连接到线路装置,通过拨号音通知用户,例如,中心局准备接收来自用户的信息,并连接到用以接收该信息的装置。诸如被叫号码一类信息,由用户用旋转拨号盘或按键音键盘输入,并在中心局进行接收和记录。然后,通过中心局设备来解释这一信息,以识别被叫线路的位置。
如果受话用户和主叫用户均由同一中心局服务,即上述呼叫为局内呼叫,将测试被叫线路是否为“忙”,如果被叫线路空着,将受到例如回铃音的提醒。被叫线路在监督下等待受话用户的回答或主叫用户的中途挂机。如果被叫用户回答,则在两用户之间建立一条话音通路。然后,话路在通话期间处于监督下,当其中一个用户挂机时,话路被切断,被叫线路也挂断。
另一方面,如果受话用户由不同的中心局服务时,即呼叫为局间呼叫时,则直接中转到为受话用户服务的中心局,查找该受话线路是否空着;或者中转到中转局,该中转局能够继续呼叫受话用户方的中心局。有关被叫号码等信息由始发局发出,由中转局接收,该中转局能将该信息传送到终接局。如果受话用户的线路忙着,或呼叫在网络中某处阻塞,或必要的局间中转线为忙,则通过忙音、短促忙音或重新拨号音通知主叫用户。
上述与处理简单电话呼叫相伴的接线功能可以简要地分类为信号接收、信号解释、存储、路径选择、网络路径的提供和控制,以及信号发送。除了这些用户服务功能外,接线系统必须登记使用率,恐怕还要定期地计算与特定的电话号码的使用率有关的收费。先进的接线机至少用电子控制(布线逻辑或存储程序)完成上述这些功能和其它功能的一部分。尤其是实时处理概念(即以足够高的操作速率跟上迅速变化的事件)以及交互操作(即在多事务的基础上与人交互以及接收和处理人所发出的信息的能力)等这些传统上与计算机系统有关的功能,现已日益应用于电话接线机。
图1示意性地说明了许多分析功能中的某些功能,这些功能是在电话用户A和B之间建立通讯时完成的。用户A用电话机10进行与用户B的通话,并接到市话交换机12。市话交换机12检测该服务请求,即来自A用户的拨号数字是否到来,并完成若干分析步骤(功能),依次包括服务分析(SA)14,目的地分析(DA)16和路线分析(RA)18。然而,为了简化的缘故,图1中仅示出SA14、DA16和RA18三种分析功能,实际上在市话交换机12内可以完成更多的分析功能,以完成从A用户至B用户的通话。
SA14的任务是识别主叫用户(在本例中为A用户)并根据他或她的付费状态以及其它有关的考虑检验主叫用户有否权利进行通话。出于这些目的,可以检查A用户的电话号码。DA16的主要任务是确定B用户连接到网络上的位置,即电话机24的位置。为了这一目的,拨号号码(B用户的电话号码)可按照A用户(同一交换机或不同的交换机)的位置解释:B用户是否属于集中式用户组(集中式是一种可在特征方面与PBX(专用小交换机)相比的服务,但在中心局需要由某些或全部控制来实现),以及其它有关的因素。
RA18的目的是确定网络的路线,通过该网络路线,可以连接A用户至B用户的通话。这种分析不仅取决于呼叫的最终目的地,即B用户的位置;而且取决于网络中的话务拥挤程序,即网络中各不同路线上的负荷;通话的性质,即模拟或数字;以及类似的网络性能指标。根据RA18的结果,市话交换机12可以将呼叫发送到中转(长途或转接)交换机20,反之,也可以通过市话交换机22将呼叫发送到B用户的电话机24。
图2表示对图1所示市话交换机12内所执行的分析功能的存储程序控制。根据图2,诸如SA14、DA16和RA18等每一分析,都用不同的分析程序30来完成。输入每个分析程序30的内容包括呼叫参数,例如A用户号码和地区码、B用户号码和地区码等等,它们可以由一个预定的参数矩阵32提供。这些参数参照数据结构34进行分析,专用于每一种类型的分析使用一种数据结构,用于对组合的参数值进行解释和产生分析结果。每一分析程序30以及每一相关数据结构34可以由网络操作员通过人-机接口36控制。尤其是,网络操作员可以将合适的值加到每个数据结构34的数据上,这样,有关的分析将产生所需的结果,提供市话交换机12在网络中的位置、编号方案等等。例如,通过将合适的值加到与RA18有关的数据结构34内的数据上,操作员可以选择改变通过网络到达某个目的地的通话路线。
如图2所示的现有技术分析方法具有若干缺陷和不足。尤其是,由于每种不同的和专用的分析要求有一种专门的分析程序30,故必须准备一套专用(专用于分析)的数据以形成专用的数据结构34,并通过专用于每种分析程序30的人-机接口36输入数据。例如,在DA16中用于定义编号方案的一种数据结构34,以及在RA18中用于定义中继网络内所需路由图案的另一种数据结构34,都必须为每一数据组专门进行准备。因此,在形成和开发每种不同的分析软件包和整个分析软件包的过程中,必须投入可观的编程时间量和高度熟练人员的力量。此外,用于每种分析的输入参数类型以及由每种分析得出的输出性质全部是预定的。因此,新的类型的参数或结果的引入,或者需要对现成的方案重新编程,或者需要放弃有关分析程序30和数据结构34的新方案,所有这些都需要付出大的代价。
实际上,在实际操作中当网络过载时,通常需要或必须修改特定的分析功能,例如重新安排话务,通过网络某个部分测量不同的参数,诸如音量或话务密度,在分析中加入附加的参数等等。按照现有技术的分析系统,诸如图2所示的系统,网络操作员和/或接线器供应商需要应付实际上不可能完成的任务,例如要预先考虑对全网络或对网络中某一特定接线器今后可能有的改变,或至少要求应付下述的经常工作,例如综合新的代码和现有的代码,并对所产生的组合作出修正等。
根据现有技术系统的上述缺陷和不足,本发明的目的是提供一种通用分析系统,它并非专门用于任何单一的分析,而是用来完成非常广泛的分析任务,尽管每种分析特性它都能提供。本发明的通用分析系统可以用作一般的分析系统,来代替现有技术系统功能广泛但相当昂贵的各套专用程序和数据结构。
本发明的另一个目的在于提供一种通用分析程序,以及在通用分析系统内应用的分析控制数据结构。它们可以用来完成任何所需的分析。
本发明的又一目的在于提供一种通用分析系统,它可以在分析控制数据内定义新的功能,并由分析控制数据指示企图影响分析的新的参数。新的功能和参数可以加到分析中,无需重新编制通用分析程序,通过在通用分析程序中利用操作员所提供的数据,或在分析控制数据中利用用户所提供的数据,即可形成分析的基础。
本发明更进一步的目的在于提供一种呼叫控制数据结构,它存储输入参数和输出结果,且能进一步由分析控制数据指示各种参数。
以后将详细描述本发明的结构和运行。然而,简单地说,本发明提供了一种通用分析系统,它用以完成用于工业过程控制中的各种分析。该通用分析系统包括用以根据一组数据至少完成一种分析的通用分析程序,以及用以控制对这组数据进行分析的分析控制数据。根据本发明,通用分析程序包括多个分析原语,分析控制数据则包括多个分析模块。一种分析可以由一组分析模块构成,并通过利用至少一个分析原语对这组数据的解释来完成。
另一方面,本发明提供一种用以处理电话呼叫的系统,它包括至少一台交换机,每台交换机具有包含多个分析原函数的通用分析程序,有包含多个分析模块的分析控制数据,以及有包含多个呼叫记录的呼叫控制数据,通过交换机的每次电话呼叫产生一个呼叫记录。分析模块可以组合为多个分析结构,每一分析结构控制一种不同的分析。例如,分析结构可以包括路线选择分析结构和目的地分析结构。
在又一方面,本发明提供一种用以控制生产过程的方法,该方法的步骤包括:存储多个用于生产过程的参数;执行多个分析模块,每一模块控制对所述参数的一部分分析,并至少有一个模块通过分析而得出结果;以及根据所得出的结果来控制生产过程。这些参数可以包括由生产过程产生的输入,生产过程特性的定义数据,以及早先已执行的分析结果。这种结果可以是分析过程中的一个中间结果或一个最终结果。
再一方面,本发明提供一种编制和执行至少一种分析,用以控制生产过程的方法,其步骤包括:提供多个高级分析原语,每个原语包括一个组合规程和一个执行规程;利用至少一个高级分析原语的组合规程,编制多个控制级分析模块;用控制级分析模块形成一种树结构以表示一种分析;以及利用高级分析原语的执行规程,执行树结构内的每一控制级分析模块,该原语即用以编制控制级分析模块的。
通过参照以下附图,本领域的熟练人员将能更好地理解本发明,且本发明的上述目的和优点也将变得更为明显。附图中相同的数字或标号表示相同的物体:
图1是表示某些分析功能的示意图,这些分析功能在两个电话用户A和B之间建立通信的过程中,由一台市话交换机执行;
图2是说明现有技术的示意图,所储存的分析功能的程序控制在图1所示的市话交换机内完成;
图3是本发明通用分析系统的一个简化的示意性方块图;
图4是图3中以简化形式所示的通用分析系统的一个扩展的示意性方块图;
图5是表示图3、图4所示通用分析程序和分析控制数据结构的示意图;
图6是表示图4所示呼叫控制数据结构的示意图;
图7是表示在由本发明的通用分析系统所执行的一个典型的分析过程中,在通用分析程序、分析控制数据和呼叫控制数据之间进行交互的示意图;
图8是说明由图5至图7所示的分析模块链所构成的一个目的地分析结构的示意图;
图9A至图9B是说明在一个分析模块的控制字段中,典型利用控制数据的两种示意图;
图10是说明用于本发明通用分析程序的一个较佳实施例的结构的示意图;
图11是说明用于本发明分析控制数据的一个较佳实施例的结构的示意图;
图12是说明在图11所示较佳的分析控制数据实施例中,某一类分析模块结构的示意图;
图13是表示利用图12所示一类典型分析模块的示意图;
图14是表示可以由低级分析原语构成低级分析模块的一种方法的示意图;
图15是表示如图14所示的由用户定义的低级分析模块,如何可用以构造一个高级分析模块的示意图;
图16表示与图12所示典型分析模块相类似的一个控制级分析模块,是如何用图15所示构造高级分析模块的步骤来具体实施的;
图17是表示本发明通用分析系统的一种操作员接口的示意图。
对本发明某些显著特征的初步概述,可以引导和有助于了解以下将要详细描述的较佳实施例。
本发明的通用分析系统的构造允许将分析的全部说明置于分析控制数据内。换句话说,对即将分析什么以及如何进行分析之类问题的答复,可以由操作员在某一单元(以下称为“分析模块”)用分析控制数据规定。本发明通用分析系统的分析控制数据单元的结构,允许人-机接口以一种用户友好的方式完全适合操作员的需要。此外,本发明通用分析系统的通用分析程序单元的结构,也基本上与将要分析的内容和所需的分析结果无关。在某次分析中将要执行的通用分析程序内的特定子程序(以下称“分析原语”),由分析控制数据中的分析模块指示。分析控制数据中的分析模块也可用来指示其它子程序的执行,如果这些子程序驻留在分析控制数据内。除了完成分析外,本发明的子程序还可以收集网络中例如来自其它接线器的分析数据,或者寄存与网络状态或连接到网络的任何电话用户有关的技术数据或统计信息。
现在参见图3,图3所示为本发明的通用分析系统的一个简化的示意性方块图。本通用分析系统取代了多个分析程序和相应的数据结构,它包括一个通用分析程序40,该程序能在一个分析控制数据42的控制下,在多种现有的分析中完成所需的分析。广义地说,分析控制数据42提供了一张“蓝图”,用以规范对一组数据进行特定分析时的行为,这组数据在每次执行这一分析时都可以是不同的,例如,对用于不同电话呼叫的不同数据组进行相似的分析。如图3中所示,一般,所分析的数据可以包括输入数据44和参数46。其中,输入数据44系在被要求执行特定分析(或一连串分析)时由通用分析程序40接收;而参数46则在完成一项分析或多项分析的过程期间,由通用分析程序40存取。
输入数据44可以包括不同类型的信息,随设计人员的选择以及对特定应用的需求而定。一般来说,输入数据44可以包括被分析的一或多组数据(实际参数)、指针、或者一或多种相关结构的参考数据,该相关结构包含被分析的数据组以及任何其它有用的信息。参数46的类型大都是依赖于通用分析系统的具体应用的,如图4所示,输入数据44可以由实体,例如一个计算机程序提供,该计算机程序要求通用分析程序40执行一种分析,而参数46可以由应用中若干不同的来源提供。
接下来参见图4,它是在图3所示较为简单的一个通用分析系统方块图基础上扩展的方块图。该方块图表示本发明在电话接线器或交换机中,用于对电话呼叫的处理。图4中,输入数据44由一个呼叫控制程序56加到通用分析程序40,在交换机中,该呼叫控制程序56行使对电话呼叫处理的整个控制,包括对通用分析程序40下达执行呼叫的命令,以便对每一次电话呼叫完成各种不同的分析,例如数字或路线选择分析。在此情况下,参数46包括各种与呼叫有关的数据,这些数据存储在一个呼叫控制数据结构54内。如图4所示,存储在呼叫控制数据54内的参数46,可以由通用分析程序40和呼叫控制程序56读取(存取)。
在以下将要详细讨论的本发明的较佳实施例中,呼叫控制数据54内存储了多个呼叫记录。每个呼叫记录包含一个数据组,即一组呼叫参数值,作为通过交换机的一次特定呼叫(所有呼叫记录包含一组相同的呼叫参数位置,但每一呼叫记录中的参数值仅适用于特定的呼叫)。在较佳实施例中,输入数据44包括一个指针或参考号指向特定的呼叫记录,即在分析该呼叫时所需的一组呼叫参数值46(在较佳实施例中,分析控制数据42包括几个不同的分析结构和子结构,输入数据44还包括对将要由分析程序40执行的特定分析结构的标识。如以下将要详细解释的,通用分析程序40利用参数识别标志(ID)74,从输入数据44所指示的呼叫记录中的一个位置,存取(读数)一个特定参数46的值。
再参见图4,呼叫控制数据54包括来自用户数据库52的用户数据50和来自电话用户的用户输入58,例如由主叫用户(A用户)利用电话机10输入(拨号)的数字。用户数据可以包括例如A用户的地区码,服务类别(商务顾客或居民),以及其它类似的信息。因此,呼叫控制数据54内的每一呼叫记录可以存储“临时”数据和“半永久”数据,前者仅适用于特定呼叫,即用户输入58;后者适用于来自某个特定用户的所有呼叫,即用户数据50。
除了用户数据50和用户输入58以外,呼叫控制数据54还包括由通用分析程序40在分析控制数据42的控制下所完成的上述分析的中间或最终结果48;其它的呼叫处理结果;以及通过呼叫控制程序56写入呼叫控制数据54内的其它数据。由任何分析产生的结果,都可以通过通用分析程序40写入呼叫控制数据54内,并在以后供通用分析程序40用来完成以后的分析,或供呼叫控制程序56用来控制某些外部处理。例如,通用分析程序40可以将目的地分析结果写入呼叫控制数据54内,以便在进行路线分析时使用。然后,路线分析结果可以通过通用分析程序40写入呼叫控制数据54内,并供呼叫控制程序56用来选择一条中继线,以便通过网络传送呼叫。
根据本发明,通用分析程序40利用输入数据44来一般指示在分析控制数据42控制下进行的大量分析中的任何一种分析,并进一步一般性地标明呼叫控制数据54中的一组参数46,对它们进行所指示的分析。然而,分析特定参数值所采用的具体顺序或次序,以及通过通用分析程序40对每个参数值所进行的特定分析,都将由分析控制数据42决定。例如,在数字(主叫号码或受话号码)分析的情况下,对数字进行分析的次序以及在分析时根据每个数字所进行的动作,将由分析控制数据42,或者更具体地说将由驻留于分析控制数据结构内专用于数字分析的某些分析模块来指明。
正是分析控制数据42的这一特点,允许利用通用程序即通用分析程序40来完成不同类型的分析,允许自由地添加新的参数和产生新的结果类型,而只需一个人一机接口。操作人员只需了解一种数据结构即分析控制数据42的格式,便可以利用人-机接口在实际操作中方便地修改现有的功能和添加新的功能,无需修改通用分析程序40的代码,或向通用分析程序40添加一行代码。从某种意义上来讲,通用分析程序40几乎起到对分析控制数据42进行解释的作用。
图5和图6说明了通用分析程序40、分析控制数据42和呼叫控制数据54的一个实施例。
接下来参见图5,它用图形表示图3和图4所示通用分析程序40和分析控制数据42的结构。通用分析程序40可以由多个子程序组成,在此称为“原始分析功能”或“分析原语”78。分析控制数据42可以由多个单元组成,此处称为“分析模块”70。在本发明的较佳实施例中,采用几种类型的分析原函数78和分析模块70。尤其是,分析原语78或者可以是“低级分析原语”,或者可以是“高级分析原语”。此外,分析模块70可以是“低级分析模块”、“高级分析模块”或“控制级分析模块”。除非上下文另有要求,以下,术语“分析原语”和“分析模块”将分别用来指任何或所有类型的分析原语和分析模块,而每种单独的类型将加上适当的定语即“低级”、“高级”或“控制级”。
在本发明的较佳实施例中,分析原语78和分析模块70的每一种类型都充当一种特定的角色,这在以后将详细描述。在该较佳实施例中,低级和高级分析原语78都是内装的不同类型的原始功能。低级分析原语78可用来构造低级分析模块70,而低级分析模块70又可以用来构造高级分析模块70。用户构造的高级分析模块70和内装的高级分析原语78,都可以用来构造不同类型的控制级分析模块70,以控制一种特定的分析。
作为本讨论的目的,图5可用来表示分析控制数据42中的一种公用类型的控制级分析模块70。
再参见图5,每个控制级分析模块70具有一个预定的结构,用以控制整个分析中的某一部分,例如分析电话号码中的一个数字。图5中的典型控制级分析模块70包括一个功能指示器72和一个内容可变的控制字段60,后者例如可以包含参数标志(ID)74以及其它控制数据76。控制级分析模块70还可以用一个模块指示器80来标识,该模块指示器80可以包括在分析控制数据42中的至少一个其它控制级分析模块70的控制字段60内。
继续参见图5,功能指示器72指向(引用)一个高级分析原语78,该原语78驻留于通用分析程序40内。然而,从上述较佳实施例的讨论可以表明,功能指示器72也可以指向另外一个高级分析模块70,该模块70以类似于高级分析原语78的方式作用,但是它驻留于分析控制数据42内。被引用的高级分析原语78或高级分析模块70确定了(或者从反面说能够解释)控制字段60的内容的性质和布局,该控制字段60位于引用的控制级分析模块70内,即位于参数ID74和控制数据76内。参数ID74指明要由控制级分析模块70进行分析的呼叫参数值(数据子集)的位置。控制数据76可以包括例如分析模块70的模块指示器80,根据模块指示器80,在对参数ID74所指示的参数值进行分析的基础上,选择执行下一个分析模块70。
接下来参见图6,它以图形表示图4所示的呼叫控制数据54的结构。如先前结合图4所讨论的,呼叫控制数据54包括用户数据50、用户输入58、通过通用分析程序40写入的先前分析结果、其它处理结果以及通过呼叫控制程序56写入的其它数据。这样,所有与来自于电话用户的呼叫有关的数据,都可以存储在呼叫控制数据结构54内,并在对呼叫分析期间,利用或通过通用分析程序40,借助于参数ID40进行存取。如图6中所示,呼叫控制数据54包括呼叫记录116,记录被分析的每个呼叫。呼叫记录116包括一组参数值,每个参数值都由一个唯一的参数ID74标明并与之相联系,即呼叫记录116可看作由参数ID74及其相应的呼叫参数值所组成的一张表。
继续参见图6,对每个呼叫参数值,即对呼叫记录116中的一个值的分析,将由分析控制数据42中的至少一个控制级分析模块70所控制。由控制级分析模块70内的功能指示器72所引用的高级分析原语78(或高级分析模块70),可以通过将控制级分析模块70内得到的参数ID74与有关呼叫记录116中的值的相应参数ID74相匹配,而从呼叫记录116中检索(读取)所需的参数值。一旦检索到参数值,就可以由分析原语78所利用,分析原语解释控制级分析模块70内的控制字段60,以便选择例如控制级分析模块70的合适的输出口,即选择下一个被解释执行的分析模块70的模块指示器80。
当分析开始时,通用分析程序40接收指向分析控制数据42内一个分析结构的指针,以及指向呼叫记录(参数记录)116(即呼叫控制数据54内的一组参数46)的指针。通用分析程序解释某一分析模块70,例如图5、图6所示分析控制数据42内的分析模块70的内容。由分析模块70内的参数ID74所指示的参数从呼叫控制数据54中取出,而由功能指示器72所指示的分析原语78则由通用分析程序40调出并且执行。然后,用下一个分析模块70继续进行分析,该分析模块70由模块指示器80指示,从分析模块70的控制字段60中选择。这一过程可以按相同的方式重复进行,直至分析完成。因此,通过控制字段60内的模块指示器80,可以将若干个分析模块70一个接一个地链接起来,构成任何所需的分析。换句话说,凡是在一个或多个分析模块70具有通至另一个分析模块70的输出口,即含有指向另一个分析模块70的一个模块指示器80的地方,根据输入数据44所表示的参数46以及图7所示的其它因素,即可通过由分析控制数据选择输出口路径来进行分析。
接下来参见图7,图7用图形表示在由本发明的通用分析系统所进行的一个典型分析中,通用分析程序40、分析控制数据42以及呼叫控制数据54之间的交互作用。图7中,为清楚和方便起见,把分析控制数据42(未图示)内的三个典型分析模块70,分别标号为分析模块82、84和86,通用分析程序40内的两个典型分析原语78也分别标号为分析原语88和90。为了简化起见,假定分析原语88为“选择器”类型,它能够根据由调用分析模块70所分析的参数值,选择从调用分析模块70至下一个分析模块70的输出口,即模块指示器80。另一方面,分析原语90作为生成结果的分析原语,将把中间或最终结果值写入呼叫控制数据54。
在典型分析开始时,由通用分析程序40解释分析模块82借以确定所执行的功能(分析原语78)。由于分析模块82中的功能指示器72指向分析原语88,通用分析程序40执行分析原语88,而分析原语88又利用由分析模块82内的参数ID74所识别的参数值,来选择分析模块84,作为典型分析中的下一个分析模块70。此时,通用分析程序40解释分析模块84,并再次执行由分析模块84内的功能指示器72所指示的分析原语88。根据分析模块84内的参数ID74所标记的参数值,分析模块86被选作典型分析中的下一个分析模块70。分析沿着这些路线继续进行,当通过例如分析模块86时,一个中间结果或最终结果最终可以通过结果生成分析原语90产生并写入呼叫控制数据54内。
接下来参见图8,图8是用若干通常由图5至图7表示的控制级分析模块链接起来的一个目的地分析的结构。图8也是比图7更为通用的一种典型的分析。为清楚起见,图8中仅示出四个典型的控制级分析模块70,它们分别标为分析模块92、94、96和98。其中,控制级分析模块92和96为一种类型,而控制级分析模块94和98为另一种类型。具体说,在每个控制级分析模块92和96内的功能指示器72调用称为“选择器”的一种类型的高级分析原语78,而在每个控制级分析模块94和98内的功能指示器72则调用称为“最终结果”的另一种类型的高级分析原语78、(注意,选择器和最终结果都可以是高级分析模块70,以代替高级分析原语78)。选择器分析原语78的作用,是按照调用控制级分析模块70内的参数ID74所指示的参数值,从调用控制级分析模块70的控制字段60中选择一个模块指示器80。另一方面,最终结果分析原语78的功能,是将一个预定值从调用控制级分析模块70的控制字段60赋值给由调用控制级分析模块70内的参数ID74所指示的参数中。
如上所述,任何控制级分析模块70内控制字段60的格式,均取决于由功能指示器72所调用的高级分析原语78(或高级分析模块70)的类型。在属于选择器类控制级分析模块92和96的情况下,控制字段60包括一个参数ID74和多个模块指示器80,这些指示器80指向若干个其它控制级分析模块70,它们是分析链中下一个分析模块70的选择对象。根据每个控制级分析模块92和96内参数ID74所指示的参数值,每当控制级分析模块92或96分别执行时,便在分析链中选择一个不同的分析模块70作为下一个分析模块70。
另一方面,每个最终结果类控制级分析模块94和98中的控制字段60,包括一个参数ID74和一个预定值,当执行相应的控制级分析模块94或98时,该预定值将写入由参数ID74所指示的参数的位置。图8中,结果生成分析模块94和98用以产生最终结果,即它们的功能指示器72调用最终结果类分析原语78,这样就构成了分析中的结束点。产生中间结果的分析原语78的例子见于附录A。用于产生中间结果的分析模块在结构上类似于分析模块94和98,只是因为不是分析中的结束点,故需要一个模块指示器80来指引到下一个分析模块70。
图8中,控制级分析模块92、94、96和98用以完成对呼叫的目的地分析,例如对由A用户用电话机10拨出的电话号码数字所进行的目的地分析。图8中示出对呼叫记录116中用作呼叫的某些相关参数的分析。尽管实际上有许多其它参数可以存储在呼叫记录116中,但作为典型目的地分析的一个示例,在图8中只有四个参数存储在呼叫记录116内。这四个示例呼叫参数被给予外部的名称“终点”(Destination)、“数字1”(Digit 1)、“数字2”(Digit 2)和“数字3”(Digit 3),它们被编入相应的参数ID 74(指针)内。参数“终点”系指目的地分析的最终结果48。在呼叫记录116中,该参数的存储单元接收其位于目的地分析结尾的数值。参数“数字1”、“数字2”和“数字3”分别表示用户输入58中的第一、第二和第三位拨号数字。在呼叫记录116中,这些参数的存储单元接收位于呼叫开始的数值。
继续参见图8,分析模块92控制对第一拨号数字的分析,第一拨号数字用名称“数字1”标志,这样,从分析模块92就总共有十个可能的输出口对应于十个可能的第一数值(0-9)。执行分析模块92,其结果便是执行由分析模块92内的功能指示器72所指示的选择器分析原语78。例如,如果数字1为零(0),表示是长途呼叫,分析模块94将被选为目的地分析中的下一个分析模块70。分析模块94包含参数ID74“目的”,它用以标识呼叫记录116中的位置,并将结果“长途呼叫”写入其中。执行分析模块94将导致执行最终结果分析原语78,它将结果值“长途呼叫”赋值给参数“目的”(名称“长途呼叫”将编成某种常量,并写入对应于参数ID为“目的”的位置)。在这种情况下,接线器不必对第二、第三等拨号数字进行任何进一步的目的地分析,仅须将呼叫连接到网络系统中一个合适的长途接线器上。
另一方面,如果第一拨号数为-“1”,分析模块96将被选为目的地分析中的下一个分析模块70。分析模块96具有与分析模块92相同的类型,但用以控制对第二拨号数字的分析,后者的标识名称为“数字2”。执行分析模块96同样导致执行选择器分析原语78,后者由分析模块96中的功能指示器72所指示。如果第二个拨号数也为1,它表示对受另一接线器服务的B用户的呼叫,且该用户位于编号方案所指定的同一电话簿范围内。此时,分析模块98将被选为目的地分析中的下一个分析模块70。分析模块98具有与分析模块94相同的类型,但其结果值为“另一个接线器”(替代“长途呼叫”),它应当在呼叫记录116中写入与参数ID74“目的”相对应的位置内。执行分析模块98导致执行最终结果分析原语78,后者将数据“另一接线器”赋给参数“目的”。在此情况下,接线器不必对第三、第四等拨号数进行进一步的目的分析,仅须将呼叫连接到另一个接线器,为被叫的B用户服务。
图8表示仅适用于两种情况的目的分析过程,即第一拨号数为0,或第一和第二拨号数均为1的情况。如果“数字1”具有数值0,参数“目的”将在目的地分析运行后具有数值“长途呼叫”。另一方面,如果“数字1”和“数字2”均有数值1,在执行目的地分析后,呼叫参数值“目的”将为“另一接线器”。为简化起见,图8中未示出对其它“数字1”和“数字2”(或是对留下的数字,例如“数字3”的分析)数值的分析,但应当认为可继续沿着相似的方法进行下去。例如,如果“数字1”既非0也非1,表示至B用户的呼叫由该接线器服务,对应于数值2-9的一个模块指示器80将被选择,所指示的下一个分析模块70将被执行。目的地分析将继续进行,直至对剩余的一或多个拨号数字的分析全部完成,并将最终结果48写入“目的”参数位置。接线器将最终把呼叫直接连接到受话用户,或也许连接到受话用户所连接到的专用小交换机(PBX)。
由此可以发现,由本发明的通用分析系统所进行的分析,可以表示为由多个分析模块70(节点)所组成的一个树结构,该分析模块由来自于其控制字段60的指针(树枝)相互连接。特定控制字段60的内容,以及由它产生下一个模块指示器80(如有的话)的方式,取决于由功能指示器72所指示的高级分析原语78的类型。对于图5-8所示的控制级分析模块70,控制字段60包含一个单一的参数ID74。然而,其它控制级分析模块70可能利用几个呼叫参数值,即可以包含几个参数ID74,或在另一些情况下,可以根本不用任何呼叫参数值。换句话说,分析控制数据42中的每个控制级分析模块70都含有一个功能指示器72,而参数ID74则具有数量可选的特性。事实上,整个控制字段60的内容都是可选的,并取决于对它进行解释的高级分析原语78的类型。换句话说,每一类高级分析原语78的编码,将用于解释控制级分析模块70的某类相应的结构。
高级分析原语78可具有几种不同的类型,它可以在不同的分析中用作基本单元,即用来解释控制级分析模块70,其中某些可以完成相似的功能,诸如选择、结果生成等等。高级分析原语78可以是“选择器”,它利用一(或多个)参数46的值,来选择控制级分析模块70中几个可能输出口即模块指示器80中的一个,并由此将分析引向由所选模块指示器80所指示的下一个分析模块70。有一种类型的选择器可以使用参数46中的一个作为分析模块70的控制字段60中的输出口表的索引(例如在图8中讨论的“选择器”分析原语78),而另一类选择器可以用控制字段60中的若干值与参数46的值比较或匹配,并根据这一比较选择一个输出口,这种比较可以是字符串的、逻辑值的、位状态的或算法的比较。其它选择器可以是分配器,例如根据循环分配、随机分配或百分位分配在输出口之间进行分配。
可以向其它类型的高级分析原语78分配结果生成任务,即将经分析模块70执行后的输出数据发送给呼叫控制数据54(例如在图8中讨论的“最终结果”分析原语78);或向其分配分析控制任务,即对分析序列的控制,包括例如调用一组或一个分组的分析模块70,并当对该组或该分组的分析完成时再返回。高级分析原语78可以进一步包括某些分析原语,它们与诸如选择器之类的分析控制原语不同,并不影响选择分析的路径或路线,而代之以完成某种特定的功能,诸如统计量登记、结果报告、参数值变换或将信号发送到网络中的其它接线器等。
附录A中进一步讨论了上述大量高级分析原语78。在下文对较佳实施例的描述中,可特别提到对索引选择器分析原语78的讨论。本领域的熟练人员将发现,这里所讨论的这类高级分析原语78仅仅作为典型例子,尚未列举的大量可能的类型都可以应用于本发明中。从随后对本发明较佳实施例的描述中可以进一步发现,附录A中所描述的各种功能也可以在驻留于分析控制数据42内的高级分析模块70中实现,以代替驻留于通用分析程序40内的高级分析原语。
像用以解释的高级分析原语78(或高级分析模块70)一样,控制级分析模块70也可以具有几种相应的类型。例如,在控制级分析模块70用它的功能指示器72调用一个索引选择器分析原语78的情况下,控制数据76可以排列为模块指示器80的一张表,索引选择器78可以利用参数46的值检索这张表,并选择相应的模块指示器80作为指向下一个待执行的分析模块70的指针(见图13)。然而,如图9A-B所示,控制字段60除了包括模块指示器80以外,还可以包括其它有用的信息。
接下来参见图9A-9B,其中示意性地说明了在分析模块的控制字段60内,控制数据76的两种典型的利用。图9A表示在功能指示器72指向循环分布选择数分析原语78的情况下,对分析模块70的控制字段60的内容的安排。与索引选择器78相反,选择器分析原语78不是利用参数46在多个模块指示器80中来选择一个,而是代之以在控制字段60内的模块指示器80之间进行循环选择。图9A中所示的控制字段60包括多个子字段或存储槽76a-f,它们除了存贮下一个模块指示器80外,还存贮其它的控制数据。在图9A所示的循环分配例子中,槽76a包含一个可能的输出口号数,即下一个分析模块70的标识符;槽76b包含分析模块70最后所用输出口的号码,即当分析路径上一次跨越图9A所示的分析模块70时所选择的下一个分析模块70,而槽76c-f的每一个则包含一个模块指示器80,它从分析模块70中引用一个可能的输出口。在此例中,有四个可能的输出口,其中上次所用的输出口是由槽76d中的模块指示器80所指示的分析模块70。
当分析通过图9A所示的分析模块70时,循环分配器78将选择模块指示器80,后者将顺序地跟在循环分配中上次所用的模块指示器80的后面,同时循环分配器将修改槽76b中的上次所用输出口的号码,使之指向所选的模块指示器80。在一个实例中,槽76b中的号码可以简单地取一个计数器的数值,该计数器为步进的,或每当分析通过分析模块70时,就增加一个数值,如图9A所示。于是,存储在槽76a内的数值将代表计数器的上限,每当该上限被超出时,该计数器就复位到一个下限值,由此进行循环计数。在图9A所示的例子中,循环分配器78将在槽76c中选择模块指示器80,并在槽76b内修改号码使其指向槽76c。由此可见,通过循环分配器78对输出口即下一个分析模块的选择,并非参照参数46,而是取决于在上次所用的输出口槽76b内的计算器的数值。
图9B表示对控制字段60内的控制数据76的另一种使用。尤其是,图9B表示了在功能指示器72指向与时间有关的选择器分析原语78的情况下,对控制字段60的内容的安排。选择器分析原语78根据对通过图9B所示分析模块70的时间的分析,选择控制字段60内的一个模块指示器80。这样,可以选择某种路线图来处理在一天中某部分时间所发生的呼叫,并选择不同的路线图来处理在一天中不同部分期间所发生的呼叫。例如,在正常营业时间对电话用户的呼叫可以受到正常的呼叫处理,而在营业时间结束后所进行的呼叫可以自动地接到一个语音信息存贮系统,或一个应答服务系统。如图9B所示的典型的分析模块70能在呼叫处理期间所进行的路线分析中,实现所需要的时间区分。
继续参见图9B,控制字段60包括一个子字段76W,它用以标明与时间有关的选择器78可能选择的不同方案或路径数。为便于说明,图9B中示出了三种方案X、Y和Z。每个方案由三个槽组成,分别包括与方案相联系的起始时间数据、结束时间数据以及至下一个分析模块70的号码,即一个模块指示器80。其中,起始时间和结束时间数据确定了时间间隔,在该间隔期间,与时间有关的选择器78将选择与本方案有关的下一个分析模块。例如,槽76x-1内的起始时间数据和槽76x-2内的结束时间数据,确定了一个时间间隔,在该时间间隔期间,将选择槽76x-3内的模块指示器80。同样,槽76y-1内的起始时间数据和槽76y-2内的结束时间数据也确定了一个时间间隔,在该时间间隔期间,将选择槽76y-3内的模块指示器80;槽76z-1内的起始时间数据和槽76z-2内的结束时间数据,定义了一个时间间隔,在该时间间隔期间,将选择槽76z-3内的模块指示器80。这样,当分析通过图9B所示的分析模块70时,与时间有关的选择器78将把一天中的时间与方案X、Y和Z所确定的时间间隔进行比较,这一时间落在哪一个时间间隔内,就选择与该间隔相联系的模块指示器80所指示的路径。
因此,图9A-9B表示两侧控制级分析模块70,它不包含参数ID74,当它调用某种类型的高级分析原语78(或等价意义上的高级分析模块70)时,该原语在解释调用它的控制级分析模块70内的特定控制数据76时,根本不使用任何参数。就这方面来说,图9A-9B所示的控制级分析模块70可以认为是完全“自含型”的,即它们含有为被调用的高级分析原语78(或被调用的高级分析模块70)所需要的全部信息。另一方面,由图5-8中的控制级分析模块70调用的不同类型的高级分析原语78(或高级分析模块70),每个都需要利用单一的参数值。某些例子的控制级分析模块70每个要利用几个呼叫参数值。并因此需要几个参数ID74,这可以从附录A对特定高级分析原函数78(或相同意义上的高级分析模块70)的讨论中得到说明。当然,这些例子仅用于说明用途,并非用以限制可应用于本发明的、可能的控制级分析模块70的整个范围。
低级分析原语78一般包括诸如加、取数等基本运算,它在更复杂的运算中用作基本积木块。与高级分析原语78不一样,低级分析原语78不直接用来构造一个分析,而代之以在分析控制数据42中用来循环地构造新的低级分析模块70。新的低级分析模块70基本上是低级分析原语78的排列或组合,它在分析控制数据42中可以类似地用来循环构造新的高级分析模块70,后者在功能上与通用分析程序40内的高级分析原语78等价。由新的低级分析模块70构成的新的高级分析模块70,随后又可以结合高级分析原语78用来构建新的控制级分析模块70,用以控制一个特定的分析,例如用于在路线分析中分析电话号码中的第三位数字的一个控制级分析模块70。每个新的控制级分析模块70中的功能指示器72,然后将调用把该控制级分析模块70构造起来的高级分析原语78或高级分析模块70。
附录C中简要地描述了一组低级分析原语78。虽然,这组分析原语并未一一列举,但可以举例说明这类低级分析原语78在本发明的一个较佳实施例中的应用,即应用通用分析系统来控制远程通信系统、尤其是中心局内交换机中的呼叫处理。显然,本领域的熟练人员将会发现,某些其它的低级分析原语78也可以在本发明的通用分析系统中实现,或者用于典型的电话应用,或者用于任何其它应用。
分析类型
可以由本发明的通用分析系统进行分析的类型,根据不同的应用需要而变化。以下所描述的本发明的较佳实施例基本上可适用于远程通信系统(例如长途或市话交换机,包交换等等)中的呼叫处理,完成诸如数字分析和路线分析等一类分析,以及其它有关的分析。附录B描述了在一个假想的电话网络中用于一个市话交换机的间化了的分析实例。该实例利用了在附录A中所描述的许多高级分析原语78(或等价的高级分析模块70),它们可以由附录C中所描述的低级分析原语78构成。应该了解,虽然附录B中所描述的分析类型(以及组成每种分析的分析原语78和分析模块70的类型)多少地专用于电话应用,本发明可以在其它应用中用来完成完全不同类型的分析。
描述了本发明通用分析系统的整体结构和工作后,余下的讨论将集中在某一较佳实施例,但该实施例仅代表无数可能的实现方案、变型和设计方案中的一个。读了上述的讨论,本领域的熟练人员可能想到,用以实现本发明通用分析系统构思的许多技术,但下文将利用链式解释型语言(TIL)技术特别是Forth程序设计语言来说明构成通用分析系统较佳实施例基础的某些概念。因此,在介绍较佳实施例之前,简要介绍线索代码系统将有助于打下以后将介绍的某些概念的基础。有关线索代码系统的进一步背景可见于1982年3月出版的《计算机》第22-32页上由Kogge,Peter M.发表的“跟踪线索代码系统的体系”一文。阅读附录C所述的低级分析原语可以对此得到更多的理解。
一般地说,计算机语言可用以填补为计算机设计的原始运算(例如加、从存贮器中取数等)和用户需要完成的任务(例如矩阵变换、检索文档等之间的空隙)。由于各种应用中的不同用户具有不同的需求,故要用一个不可扩充的语言来同等地满足所有这些需求实际上是不可能的。解决这一困境的一种方法,可以尝试在语言中包括各种可能的有用的运算、结构和功能。然而,这一方法是麻烦和呆板的。链式解释型语言采用一种不同的并且可扩展的方法。该方法提供少数几种技术,它们允许用户能很快地增加在其特定应用中所需要的特定运算。通常称增加语言功能和编译程序结构的能力为“可扩充性”。这种可扩充性可以表现为至少两种能力的增加,即利用现有的编译程序增加语言功能的能力,以及产生带有新应用的编译程序的能力,后者反过来又可以用来增加许多有用的语言功能。例如,可以参阅1980年8月出版的《Byte》第164-196页上,由Harris,Kim发表的“Forth语言可扩充性:或如何用25个字或更少的字写一个编译程序”一文。
一般来说,用链式解释型语言(TIL)例如Forth或Postscript所写的计算机程序,在计算机中可表示为一串子程序地址,每个子程序又可包括其它子程序的地址,如此下去,直至达到语言的原始运算。由于除了读取地址和向其转移外,几乎不做什么事,故链式解释型说明可以极快地运行。在线索代码系统中采用几种类型的地址解释程序。在一个直接的线索代码系统中,一个子程序序列被链接到其一张入口地址表中。具体地说,在嵌套调用的子程序中,位于程序最低层子程序上一层的每个子程序(被这些子程序调用的每一子程序不再调用任何其它的子程序),可使用传统的高级程序设计语言,例如ADA或PASCAL来编码,并且用一张简单的地址表来表示。一个机器语言小程序(就是通常所说的解释程序)顺序地遍历该地址表,并在每一步执行间接的转换。一个解释程序寄存器指向表中将执行过程的下一个地址,即指向下一个过程的实际机器代码地址。在该技术的一种变型中,对地址解释程序增加了一个间接层。在一个间接的线索代码系统中,解释程序寄存器不直接指向下一过程的地址,而代之以指向下一过程的指针的地址。此外,还可以多加一个间接层到地址解释程序中。在一个间接标记线索代码系统中,解释程序寄存器指向一个标记的地址,该标记用作有可能指向下一过程的指针表上的一个索引。
TIL应用可以用一组专项应用字(或对象)来定义,它驻留于TIL系统内的一个字典中。TIL字典内的每个“字”指明了一个可执行的过程(不仅是存储器的一小片或一个字节),它可以外加一个由字母数字编成的名称。在TIL字典的内部,每个字的条目通常包括名称字段、代码字段和参数字段,其中,名称字段含有字的编辑名称;代码字段含有当该字被执行时,对所执行的指令的访问地址;参数字段含有对字的编译定义,例如,在定义内可包括对一组其它字的访问。TIL扁含有第一组内装的字,作为大多数用户应用的基础,以及第二组内装的字,允许用户创造新的专用字,加到字典内。一个词只要在TIL字典内作了定义,它就可以用来定义许多其它的专门应用字。因此,TIL字典是可以扩展的。
将新的字输入TIL字典的过程通常称为编译状态。在编译状态,TIL系统读得由某些外部源例如大容量存储器件或视频终端输入的、新的专项应用字。对每个新字的定义包括一个定义的字,后随要定义的新字的名称,以及该新字的定义主体,例如其它的字和数字。上述的定义字可为一个内装的字或用户定义的(专项应用)字,它能使TIL系统进入编译状态,以便编译定义的主体,并在TIL字典内为定义的字增加一个条目(该条目将含有已作编译的定义)。在Forth语言中,内装的定义字可举出“:”(冒号)、CONSTANT和VARIABLE。内装的其它Forth字例如可包括“;”(分号),它表示结束对由(:)所定义的一个新字的定义。在本发明较佳实施例中,一个定义字的例子为PROC。用于该较佳实施例中的其它字包括有ENDPROC,它表示PROC所定义的一个新字的结束。
定义词的定义不同于其它词的定义,前者由一个BUILD(编译)部分和一个DO(解释)部分组成。当定义字对字进行编译时执行BUILD部分,当由定义字所编译的字执行时执行DO部分。BUILD部分(在编译状态下执行)的功能是将新字的定义编入TIL词典。这种编译通常需要将新字的名称写入字典条目的名称字段,将对DO部分的访问写入新字字典条目的代码字段。定义字的BUILD部分还将把新字的定义主体编入相应字典条目的参数字段,使新字无论在何时执行时,DO部分都可解释该参数字段。
例如,当一个新字用Forth程序设计语言中的定义字(:),或用本发明通用分析系统较佳实施例中的定义字PROC编译时,该新字的定义主体一般将包括一系列内在的或用户定义(专项应用)的字,这些字在TIL字典中一个挨一个地查找,每查找到一个字,就将相应字典条目的地址写入正在编译的新字的字典条目的参数字段内。当新字执行时,在(:)或PROC的DO部分内的解释程序仅需读取这些地址,并执行所访问的字。然而,对于由FORTH程序设计语言中的定义字VARIABLE所编译的定义,每个新字的定义主体可以包括变量的尺度,它应当通过VARIABLE定义字的BUILD部分分配到新字字典条目的参数字段。当由VARIABLE所定义的新字执行时,定义字VARIABLE的DO部分也执行且返回变量的地址。因此,这些定义字实际上是不同的编译程序,即定义字(:)和PROC编译过程的定义(操作符),而定义字VARIABLE编译数据的定义(操作数)。
TIL系统处理用户定义字的方法与处理系统提供(内装)字的方法相同,即所有用户定义的操作符和操作数都可以像系统提供的一样使用。因此,TIL系统支持至少两级扩充性能。在第一级,用户利用标准的定义字向TIL字典添加新字(过程),该新字可用系统提供的术语定义,或用用户定义的字定义。在后来编译的字的定义中包含一个先前编译过的字,可认为与子程序调用相类似。由TIL字典内的任何字(用户定义或内装)所指示的过程,可以简单地利用新字定义中的字名进行调用。在扩充性能的第二级,用户先创造新的定义字,然后用新的定义字来将新的字“族”(类)添加(编译)到TIL字典中去。在此较高的一级,用户利用每个新定义的字,来说明每个相应字族中的一个成员,即由新定义的字所编译的一个新字是如何编译和执行的。
在对每个新定义字的定义中,通常,例如在Forth,是利用特定(关键)词<BUILDS and DOES>来分别描述一个新的字族中每个新字的编译时间动作和执行时间动作(字符“<”和“>”是这些关键字名称的一部分,并表示<BUILDS先于DOES>,或者,换句话说,BUILD部分先于DO部分)。编译时间动作由字<BUILD和跟随其后的任何字,直至字DOES>来描述。对定义字的执行构成了字族中一个新成员的字典定义。这种定义的内容是由编译时间的字构成的。执行时间动作由字DOES>和跟随其后的任何字,直至定义结束所描述的。执行任何字族成员即执行执行时间的字。当一个新的字族字被编译和新的定义字被执行时,<BUILDS过程将被执行。<BUILDS过程读取新的字族字,即在输入文本流中跟在所定义字之后的下一个字的名称,并字典的末尾加上新定义的名称字段和代码字段在新定义字的字典定义中,名称字段包含新字族字的名称,代码字段包含指向执行时间字的指针。其中,新定义字将在新的字族字执行时才执行。当执行新的字族字时,DOES>过程以及位于DOES>与新定义字定义结尾之间的字将先后执行。DOES过程将参数字段的地址返回到新的字族字的字典的定义内。
TIL的原理,包括Forth语言中<BUILDS和DOES>过程的使用均可以应用于通用分析系统的较佳实施例中。例如,附录C中的某些低级分析原语78,诸如DUPLICATE可视为大致相当于TIL内的标准(内装)字。其它低级分析原语78,例如PROC可视为大体与TIL内的内装定义字相当。附录A中的高级分析原语78以及高级分析模块70,可视为分别与TIL内更为复杂的内装定义字和用户定义的字义字大致相当。控制级分析模块70可视为与由上述更为复杂的定义字定义的TIL内的字大致相当。
通用分析系统
接下来参见图10-16,其中分别表示本发明通用分析系统较佳实施例的一个或多个部分或部件的结构。图10表示通用分析程序40的较佳实施例的结构;图11表示分析控制数据42的较佳实施例的结构。图12表示图11所示分析控制数据42的较佳实施例中,一类控制级分析模块70的结构,而图13则表示图12所示一类典型的控制级分析模块70的使用。图14表示由低级分析原语78构成低级分析模块70的方法,而图15则表示图14所示的用户定义低级分析模块70,如何能用来构造一个高级分析模块70。图16表示类似于图12所示典型分析模块70的一个控制级分析模块70,如何用图15中所示的高级分析模块70的构造步骤来构成。由图10-16所示的较佳实施例有一部分是在上述的间接标记一线索代码系统技术的基础上实现的。
首先参见图10,通用分析程序40包括一组通用分析软件100和若干分析原语78,后者在本较佳实施例中改用标号120,高级分析原语120的每一个都包含一个DO过程112和一个BUILD过程114。在看了图10-16以及相应的讨论后,将可发现,在通用分析程序40内,从物理上或概念上将分析原语120与软件块100分开,将允许在以后将通用分析程序40释放时,方便地增加新的分析原语120而无需修改通用分析软件100。
为了说明的目的,图10中仅示出四个示例的高级分析原语120,其功能按字母表顺序标记为“A-D”。然而,从上述讨论中可以发现,分析原语120既包括低级又包括高级分析原语,而且,实际上高级分析原语120的数目也将大大超过四个。软件块100包括一个分析建立程序102,它按照诸如开放式系统互连(OSI)模式与操作员接口200通讯。如以下更为充分的讨论,尤其是涉及到对本发明编译状态的描述,分析建立程序102可以结合高级分析原语120的编译程序114一起使用,以构建新的控制级分析模块70,在较佳实施例中重新编号为130。如以下进一步所讨论的那样,由用户定义的高级分析模块130中的建立过程114,同样可以用来构建新的控制级分析模块130。
仍参见图10,分析原语功能字典104把操作员从操作员接口200输入的一个分析原语120的外部(符号)名称,例如EXTERNACA翻译为原语功能标记,例如数字347,该数字即名为EXTERNALA的分析原语功能120的专门标记,原语功能标记充当进入分析原语功能标记表106的一个索引,它用于查找分析原语功能,其中也包括高级分析原语“A-D”中的一个,例如分析原语功能“A”。分析”原语功能标记表106将原语功能标记,例如347的值翻译成指向低级分析原语功能120的指针,或者翻译成与该标记值相联的指向高级分析原语功能120的两个指针。
指向高级分析原语功能120,例如分析原语功能“A”的两个指针,包括指向高级分析原语功能120的执行过程112的第一指针和指向其建立过程114的第二指针。如以后将详细解释的,当利用分析原语功能120进行分析时,要执行高级分析原语功能120的执行过程112;而当利用分析原语功能120编译一个新的控制级分析模块130时,将执行同一分析原语功能120的建立过程114。在这一方面,图7-8中所示以及先前在一般讨论部分中所描述的分析原语功能78,更精确地相当于图10所示分析原语功能120的执行过程112。
继续参见图10,软件块100进一步包括一个分析解释过程108,它根据一个执行特定分析的命令,解释分析模块130的树。该执行特定分析的命令可以由任何“分析用户”,即需要利用(或要求执行)某种分析的接线器内的任何一类程序所发出。分析用户的一个典型例子就是呼叫控制程序56,该程序通过接线器控制模拟或数字通讯,例如电话呼叫。其它分析用户可以是不同种类的运行维护程序。然而,作为本讨论的目的,假设执行某一分析的命令是由呼叫控制程序56发出的。
根据较佳的实施例,呼叫控制程序56将输入数据44送到分析解释过程108,该输入数据44包括(ⅰ)用作待执行分析的外部(符号)名称,例如“数字分析”或“路线分析”;(ⅱ)参数记录指针;在某些分析中,还可包括(ⅲ)与上下文有关的(分析专用)的其它信息。分析的符号名称用以存取完成分析所需的特定的分析控制数据。参数记录指针用以在呼叫控制数据54中存取成组的、用于待分析呼叫(呼叫记录)的参数值,然后,高级分析原语120(或高级分析模块130)可以按需要从该成组参数值获得,或向它写入由控制级分析模块130中的参数ID74所指示的任何呼叫参数值,用于所指定的分析。
记住所有呼叫记录都包含同样一组参数,这些参数由一组同样的参数ID74所识别,但是每个呼叫记录都含有用于特定呼叫的参数值,该参数值可以与同时被分析的另一呼叫记录中的参数值有相当的不同。因此,参数记录指针将分清用于进行分析的特定的一组呼叫参数值。包含在输入数据44内的其它信息,可以包括任何专用于分析的信息,该信息也可以由高级分析原语120(或高级分析模块130)进行分析。
如图10所示,参数记录指针和可能有的其它信息均存储于执行分析输入数据处理器110中,该处理器与一个呼叫控制数据存储处理器118连接。参数记录指针指向或以某种方式访问呼叫控制数据库54内用于被分析呼叫的一组呼叫控制数据116的位置,该呼叫控制数据存储在呼叫控制数据存储处理器118内,或由其进行处理。呼叫控制数据组116包括用于被分析呼叫的所有有关的数据(每次呼叫可以包含几种不同的分析),即由用户输入的数据和其它适用于该次特定呼叫的呼叫处理结果,以及与收费或用户位置有关的数据,这些数据适用于所有来自该用户的呼叫。
呼叫控制数据存储处理器118可以由执行分析输入数据处理器100存取,按照高级分析原语功能120(或高级分析模块130)的执行过程112的请求,可以在分析期间从呼叫控制数据库54读取数据和向呼叫控制数据库54写入数据,并可以通过呼叫控制程序56读取和写入用于其它目的的数据。例如,分析原语功能120诸如分析原语功能“A”的执行过程112,可以利用执行分析输入数据处理器110来获得呼叫控制数据组116中的任何参数值。在此情况下,执行过程112将一个含有参数ID74的参数请求送到执行分析输入数据处理器110,而后者本身也将所收到的参数ID74与所存储的参数记录指针连系或结合起来,成为一种新的参数请求,并将该请求发送到呼叫控制数据存储处理器118。
作为一个非常简单的例子,如何形成参数请求送到呼叫控制数据存储处理器118,(这里无意限制为本领域的熟练人员所熟知的其它许多可能的实施方案),参数记录指针可以表示数据组116中的第一位置,参数ID74可以表示与该第一位置的偏离,此偏离可以加到参数记录指针的数值上。然后,与呼叫控制数据组116内的参数ID74相联的参数值,将从呼叫控制数据存储处理器118,经由执行分析输入数据处理器110,送到提出参数请求的分析原语功能120,并用于分析。此后,另一个分析原语功能120可以产生一个中间或最终结果,送到呼叫控制数据存储处理器118,并存储在呼叫控制数据组116内。
这里应当注意,对于附录A中所描述的典型的高级分析原语功能120来说,输入数据44假如仅包括分析的外部名称和参数记录指针,并假定没有其它信息包括在输入数据44内。因此,附录A中没有一个典型的分析原语功能120可利用允许包含在输入数据44内的任何其它信息。尽管附录A或附录C中没有明确说明,但本领域的熟练人员将会发现,本发明的低级分析原语120和高级分析原语120(或等价的高级分析模块130)也可以方便地使用包含在输入数据44内的其它(上下文专用)信息。
例如,低级分析原语120可以通过参数栈利用其它信息,即可在由输入数据44说明的特定的分析执行之前,先将设置在栈的顶部,作为第一栈区,然后,上述分析可以通过由高级分析模块130所定义的控制级分析模块130来利用这类信息,而该高级分析模块130是由低级分析原语120循环建立的。又如,在路线选择分析中,当通过预先进行的一次路线分析已知,通往同一所需目的地的主要路线已被阻塞时,可以用其它信息表示通过网络中的次要路线(图形)来执行路线分析。作为再一个例子,其它信息也可以包括指向用于其它被分析呼叫的呼叫记录的指针,它类似于由参数记录指针所访问的呼叫记录。
接下来参见图11,该分析控制数据42的较佳实施例包括一个分析控制数据字典132,它用以将由呼叫控制程序56所指定的外部分析名称翻译成指向分析控制数据(用于特定分析)的指针。分析外部名称的特定例子,即“数字分析”和路线选择分析”示于图11(外部名称不必局限于文本字符串,但一般是可以由通用分析程序以外,即操作员接口200和呼叫处理软件来识别的任何记号或目标)。分析控制数据字典132翻译“数字分析”和“路线选择分析”,并将指针返回到相应的分析控制数据,即分别为数字分析控制数据134和路线选择分析控制数据136。
在较佳实施例中,用于任何分析的分析控制数据,例如数字分析控制数据134的结构,与任何其它分析,例如路线选择分析控制数据136的结构相类似。每个分析控制数据结构,例如路线选择分析控制数据136包含一个分析模块字典138,它用以将分析模块130的外部名称译成模块标记,即能在特定的分析控制数据内间接识别分析模块130的数字。根据较佳实施例,分析控制数据结构中的每个分析模块130都有一个外部名称,该外部名称例如可以用能够区分特定分析的前缀开头,后跟一个数字,例如RA275(此格式仅作为例举,操作员可以选择任何其它合适的格式,用或不用字母前缀都可)。从对本发明执行和编译状态的讨论中可以清楚地看到,分析模块字典138系用于编译(不用于执行)分析模块130。
继续参见图11,每个分析控制数据结构进一步包括一个分析执行起始数据140,后者包括一个起始标记142和一个活动标记表指针144。起始标记142提供一个指针,指向用于一特定分析的分析树的树干,例如路线选择分析中的起始控制级分析模块150,而活动标记表指针144提供一个指针,指向“活动”分析模块标记表146,后者调用分析模块130用以完成分析。活动标记表指针144允许几个分析模块标记表并行使用,它们包括活动分析模块标记表146,用以分析通过网络的实际通讯;以及一或多个“无源”分析模块标记表,例如分析模块标记表148,它可以由操作员用来修改用于某种特定分析的分析控制数据,例如在其内部构建更多的分析模块130,而有源分析模块标记表146则用以完成实际分析,即执行分析模块130。
每个分析模块标记表146和148通过一个模块标记建立索引,该模块标记能指向分析模块130的实际存储位置(地址)。正如分析原语标记和分析原语120的情况一样,模块标记的使用,即间接标记链式技术的使用,取代了用指针直接指向分析模块130,简化了存储器的再分配,例如在存储器内转移,修改和替换分析模块130。尤其是,对用于特定分析的分析控制数据的修改,其数据可能达到几兆字节的数量级,也可以间接地通过在一个无源分析模块标记表中修改(指向分析模块的)指针而完成。为了修改特定的分析,例如路线选择分析,操作员可以简单地将有源分析模块标记表146的内容拷贝到无源分析模块标记表148(用拷贝指针替代拷贝分析模块);修改至少某些指向分析模块130的指针;测试新的分析结构;并在完成测试后激活(改变有源标记表指针144的值,并使之指向)分析模块标记表148。
根据图11,用于每种分析的分析控制数据,例如数字分析控制数据134或路线选择分析控制数据136,包括指向分析树干的指针,即起始标记142指向分析的起始点。然而,如果需要的话,每种分析可以有多于一种可能的起始点,即在同一分析控制数据结构内,可以有几种不同可能的起始控制级分析模块130。为此目的,起始标记142可以从分析执行起始数据140转移到分析控制数据字典132,以形成一个第3行,这样,在分析控制数据字典132内的每个条目将有三个属性,即一个外部名称、一个分析控制数据指针和一个起始标记。实际上,这种方法允许在同一分析控制数据结构内产生不同的分析,每种不同的分析均由一个不同的外部名称所认别,该外部名称在相应的分析控制数据中,将翻译成指向相应分析控制数据的指针和指向相应起始分析模块130的指针。例如,外部名称“路线选择分析-1”、“路线选择分析-2”和“路线选择分析-3”将指向相同的分析控制数据,即路线选择分析控制数据136,而其中的每一个又将指向不同的起始分析模块130。
接下来参见图12,例如,在路线选择分析中可以利用一种通用类型的控制级分析模块130的结构,它包括一个分析管理模块标题160,一个原语功能标记162,一个参数区164和一个下一模块调用区166(为了简化叙述,此区的内容被构建成一组连续的存储器单元)。分析管理模块标题160用于管理目的,并可以存储诸如控制级分析模块130的编译名称。原语功能标记162或者访问高级分析原语120,或者访问高级分析模块130。执行期间,原语功能标记162通过路线选择分析控制数据136的分析模块标记表146,或分析原语功能标记表106,翻译成指向特定分析原语120的执行过程的指针,并由该特定分析原语120对这一特定类型的控制级分析模块130进行解释。
对于图12中所示的分析模块130,原语功能标记162可以调用“索引选择器”一类的高级分析原语120,参数区164和下一个模块调用区166的内容如图13所示。参数区164包含被分析的参数或数据的地址,例如,它存储参数ID74,用以指向呼叫控制数据54内的参数值,同时包含被访问参数的最大值(一般来说,参数区164可以包含各种常数的组合及其它数据,以及呼叫数据的地址,取决于由原函数标记162所调用的分析原语的功能。下一个模块调用区166包含一张分析模块标记表,它由索引选择器分析原语120索引,以便选择一个模块标记,接下来,该模块标记又由分析模块标记表146翻译成指向下一个分析模块154的指针。
如先前所讨论的,任何控制级分析模块130的控制字段60内的信息,其具体内容和组织取决于由原语功能标记162调用的高级分析原语120的类型(或等价的高级分析模块130的类型)。也即取决于用以解释这种特定类型的控制级分析模块130的高级分析原语120(或高级分析模块130)。图12-13表示原语功能标记162调用线索选择器分析原语120的情况,此时的控制字段60包括了参数区164和下一个模块调用区166。在其它情况下,例如在原语功能标记162调用如图9A所示一类的循环分配选择器或如图9B所示一类与时间有关的选择器时,控制字段60不存储参数ID74或分析模块标记的索引表,而代之以存储其它类型的控制数据76,如在图9A中所示的上一次所用的输出口循环计数器76b以及可能选择作为下一个分析模块130的其它分析模块130的标记。因此,对图12所示的分析模块130的结构有可能作出许多变换,而且,只有原语功能标记162才是每个控制级分析模块130必要的结构单元。
执行状态
在较佳实施例中,本发明的通用分析系统工作在一种或两种状态下,即执行和编译。在执行状态,分析解释过程108利用分析原语120的DO过程112完成分析。为了便于说明,假定呼叫控制程序56已经指令分析解释过程108开始执行一种特定分析。如前所述,呼叫控制程序56将用于分析的输入数据44发送到分析解释过程108。输入数据44包括被寻找的分析的外部名称,例如“数字分析”或“路线选择分析”,它规定了用于分析的起始点,即分析树的树干。输入数据44还包括一个参数记录指针,指向用于被分析呼叫的呼叫控制数据(呼叫记录)116,以及其它可能的专用于特定分析的信息。
如图10所示,参数记录指针和其它信息存储于分析执行输入数据处理器110中供以后使用。另一方面,分析的外部名称被发送到分析控制数据字典132,如图11所示,它包含一系列所有不同的分析控制数据,该数据可以由呼叫控制程序56访问。分析控制数据字典132用以查找由呼叫控制程序56所发出的外部名称,它将指针指向合适的分析控制数据,以用于所需的(带名称的)分析。例如,假设呼叫控制程序56已要求路线选择分析,将外部名“路线选择分析”发送到分析解释过程108,则分析控制数据字典132将把指针返回到路线选择分析控制数据136。
如图11所示,路线选择分析控制数据136包括分析执行起始数据140,后者既包含起始标记142,又包含有活动标记表指针144,用于路线选择分析。起始标记(图11中为数值28)用以索引由活动标记表指针144所指示的活动分析模块标记表146,以获得指向路线选择分析中第一个控制级分析模块150,即路线选择分析树的树干的指针。第一控制级分析模块150中的原语功能标记162用以检索分析原语功能标记表106(或分析模块标记表146),以获得指向高级分析原语120(或高级分析模块130)的DO过程112的指针,该DO过程与第一分析模块150的控制字段60的特定结构和内容(例如用于变址选择器类分析模块150的参数区164和下一个模块调用区166)有关,即能够对其进行解释。
进一步假设,例如,第一控制级分析模块150的原语功能标记162调用变址选择器类分析原语120,变址选择器分析原语120的DO过程112从第一控制级分析模块150的参数区164中读得参数ID74,并调用分析执行输入数据处理器110。接着由110发送一个请求到呼叫控制数据存储处理器118,以读得与呼叫控制数据116中的参数ID74有关的参数值,用于被分析的呼叫。该参数值送到变址选择器分析原语120的DO过程112,并由其用来在第一分析模块150内选择下一个模块调用区160的输出口,即在执行第一个分析模块150后再执行下一个分析模块130。然后,可以如图13所示执行下一个分析模块152。为方便起见,假定第二个分析模块152也调用变址选择器类的分析原语120。
接下来参见图13,它表示在执行图11中所示的第一分析模块150后,再执行第二个分析模块152。如前所述,指向第二分析模块152的指针(标记),是根据在路线选择分析树中的第一分析模块150的分析结果来选择的。分析解释过程108读得分析模块152中的原语功能标记162,并登记指向名为“变址选择器”的分析原语120的一个数值,例如93。数据93在分析原语功能标记表106中,被译成指向分析原语变址选择器的DO过程112的指针。然后,分析原语变址选择器的DO过程112将读得分析模块152的参数区164中的数据。如图13所示,分析模块152的参数区164既包括用于参数“初始数”的参数ID74,又包括用分析模块152对“初始数”作这种分析时的一个最大允许值。下面很快可以看到,分析原语变址选择器将按照呼叫控制数据块116内的“初始数”参数值,来选择分析模块152的下一个模块参照区166的输出口。
通常,参数“初始数”用以识别一组用户,这些用户由交换机按照同一方式进行呼叫处理(可以有不同的“初始数”参数用于路线选择、计费等等)。对于路线选择来说,参数“初始数”的值例如不仅可以指定由固定编码方案给中心局地区的所分配的地区码,而且可以指定由中心局所服务的A用户所在地域的地域码,以及其它类别的初始数,诸如,A用户所属的业务组等。用作路线选择“初始数”参数的最大允许值,取决于编码方案、用户类型等,在此例中,最大允许值可选择为7(大于7的“初始数”参数值,例如可能表示处理中有误差,或者另一方面,如果数值8和9也用于业务(PBX或集中式用户交换功能)组,也可以表示来自某类业务用户的呼叫,该呼叫要求进一步分析另一分析模块中的“初始数”。
继续参见图13,分析原语变址选择器的DO过程112将用于“初始数”的参数ID74发送到分析执行输入数据处理器110,然后由后者请求呼叫控制数据存储处理器118读出呼叫控制数据116中的“初始数”,用于被分析的呼叫。然后,“初始数”数据的参数值(此处为4),被发送到分析原语变址选择器的DO过程112。分析原语变化选择器的DO过程112从分析模块152的参数区164存取最大允许值,并将“初始数”参数值与最大允许值进行比较。
如果“初始数”参数值小于或等于最大允许值,分析原语变址选择器的DO过程112就利用“初始数”参数值来索引分析模块152的下一个模块调用区166中的一张表,并从分析模块152选择合适的输出口,即用于下一次执行的分析模块的分析模块标记。然而,如果“初始数”参数值大于7(例如由于处理中的误差或呼叫来自于商业用户),即可选择“出界”分析模块标记,并通过活动分析模块标记表146翻译成指向一个预定控制级分析模块130的指针。
在本例中,由于“初始数”参数值(4)小于最大允许值(7),由参数值(4)所索引的分析模块标记即被选择,并通过活动分析模块标记表146翻译成指向一个控制级分析模块154的指针。然后,用执行分析模块152的相同方式执行下一个分析模块154。分析继续沿着这些路线进行,在路线选择分析树中,在执行一个分析模块130后,再顺序执行另一个分析模块130。在路线分析树中的某些分析模块130,将产生中间或最终分析结果(最终结果分析模块130将是分析树中的终点)。结果生成分析模块130由结果生成分析原语120(或结果生成分析模块130)进行解释,并且,该结果可以反馈到呼叫控制数据54中的呼叫记录116,用于一或多个后继的分析或用于控制某些外部过程。
编译状态
在本发明的较佳实施例中,当操作员利用操作员接口200(可与分析建立过程102通讯)的便利条件建立新的分析模块130时,就启动了编译状态。操作员可以创建新的分析模块130,它属于上述所讨论的三种不同类型中的任何一种:(ⅰ)包括一些字(子程序)在内的低级分析模块,它可以由其它低级分析模块和高级分析模块调用;(ⅱ)包括定义字的高级分析模块(建立过程和执行过程),其功能像高级分析原语一样;以及(ⅲ)控制级分析模块,它可以链接到一个分析结构中的其它控制级分析模块,这些模块在其控制字段60内采用分析模块标记,例如,在图13所示分析模块152中的分析模块标记。包括新控制极分析模块130的分析结构可以是(ⅰ)一个分析超结构,它形成一个完整分析,例如数字分析或路线选择分析;或(ⅱ)一个分析子结构,在分析过程中,它可以由几个地方调用。
分析子结构例如可以用于选择特定的路线用于被处理的呼叫。这种子结构可以包括这样的操作,即每当在路线选择分析中从不同的部分选择路线时,都需要完成这些操作,例如,在特定的路线上收集有关呼叫路线选择的统计数字,或调整通向该路线的通讯量等。其它子程序可以用来表示在几个中心局中使用的相同的分析控制数据,这样就可以由操作员一次制作,而以后可通过操作员与每个中心局内的通用分析系统之间的接口200来提供使用。这种其它子程序例如还可以用于对应急号码,例如数字911或对国际呼叫所作的路线选择分析。
在较佳实施例中,分析原语130内装或硬编码(hard-coded)在通用分析程序40内,其类型通常或为应用性的,即设计用于不同的应用;或为用户性的,即设计供具有同样基本应用(例如呼叫处理)的不同用户使用,或两者兼而有之。每个高级分析原语120包括一个建立过程114,因此,可以用以构建新的具有特定类型的控制级分析模块,其方法类似于在Forth内利用固有的定义字来定义新的Forth字。而且,由于包括了一组类似于某些固有的Forth词的低级分析原语120,例如,定义了当PROC(在Forth中类似于“:”)的过程以及<BUILD和DOES>过程,操作员接口200也可以用来产生低级和高级分析模块130。接着,高级分析模块130又可以用来构建应用的或用户特定的控制级分析模块130,以满足特定的应用需要或用户需要。例如,在呼叫处理应用中,接线器操作员可以构建新的控制级分析模块130,并在其中填充描述操作员网络特定配置的控制数据(编号方案等等)。
在通用分析程序40内,低级和高级分析模块130不采取内装或硬编码的方法,但它可以由用户构建,并存储在分析控制数据42内。低级分析模块130由低级分析原语120递归定义,其方法有点类似于由固有的Forth字定义新的Forth字。低级分析模块130和低级分析原语120随后又,可以用来定义新的高级分析模块130,其方法有点象由用户定义2的和固有的Forth字定义新的Forth定义字。新的高级分析模块130就象高级分析原语120一样使用,用来定义新的控制级分析模块130,其方法大致类似于由用户定义的定义字定义新的Forth字。每个新的高级分析模块130将使用<BUILD和DOES>功能来确定由其定义的每个新的控制级分析模块130的编译时间操作(相应于建立过程114)和执行时间操作(相应于DO过程112)。
为了建立新的应用的或用户特定的分析超结构或子结构,一或多个固有的低级分析原语120,即字(子程序)首先可用来产生(定义)新的低级分析模块130,即新的递归定义的子程序(例如<BUILDS或DOES)>的新的变型)。然后,可以利用内部低级分析原语120和用户特定的低级分析模块130,来定义新的高级分析模块130,即定义字,再用这些定义字与内装的高级分析原语120一起在分析树中编译新的控制级分析模块130(从以下的描述中可以清楚地了解到,对低级和高级分析原语120或分析模块130的执行,通常用一个CALL RETURN来结束;而对控制级分析模块130的执行,通常用结尾处的一个GO TO连接到分析树中的下一个控制级分析模块)。
以下内容提供了在本发明的较佳实施例中,如何利用操作员接口200的例子:(ⅰ)由内装的高级分析原语120构建新的控制级分析模块130;(ⅱ)由(内装的)低级分析原语120定义新的低级分析模块130;(ⅲ)由低级分析原语120和低级分析模块130定义新的高级分析模块130(低级分析原语120和低级分析模块130一般是可以用来定义低级分析模块或高级分析模块的子程序);以及(ⅳ)由用户定义的高级分析模块130构建新的控制级分析模块130。在以下例子中,通过操作员接口200输入的字一律用大写字母表示,以便与英文单字区别开来。
对编译控制级分析模块的一般概述
在内装的高级分析原语120内的建立过程114或先前定义的高级分析模块130,可以和分析建立过程102相互合作,在一个特定分析控制数据,例如路线分析控制数据136内定义一个新的控制级分析模块130。一般地说,对每个新的控制级分析模块130的定义,将包括对应于特定分析,例如路线选择分析的分析控制数据的名称,其中将插入新的控制级分析模块130;对应于特定高级分析原语120或高级分析模块130的定义字的名称。例如“变化选择器”,它提供了一类控制级分析模块的总的骨架(模型),而新的分析模块130则是该类模块中一个具体的例子(目标)。分析建立过程102将使用分析控制数据字典132,以及分析原语功能字典104或分析模块字典138,分别鉴别在定义中命名的分析控制数据、以及高级分析原语120或高级分析模块130的建立过程。
在对控制级分析模块130的编译过程中,操作员输入的信息可以分成两部分(然而,这种方法是设计方案的事)。第一部分所包括的信息为:(ⅰ)由操作员所输入的用于各类(族)控制级分析模块的信息,而不管所定义的控制级分析模块的特定类型;(ⅱ)由分析建立过程102所处理的信息(一组控制级分析模块如果由相同的高级分析原语120或相同的高级分析模块130所定义或建立,将具有相同的“类”或“族”)。上述信息包括分析的外部名、新的控制级分析模块的外部名、某种行政管理信息、以及用以构建新的控制级分析模块的高级分析原语120或高级分析模块130的外部分。行政管理信息和高级分析原语120或高级分析模块130的外部名,将分别编译为新控制级分析模块130的分析行政管理模块标题160和原语功能标记162。
操作员输入的第二部分所包括的信息为(ⅰ)专用于某类控制级分析模块,即取决于高级分析原语120或高级分析模块130的信息,它用以定义新的控制级分析模块130,以及(ⅱ)由特定的分析原语120或分析模块130的建立过程所处理的信息。该信息(某些参数值)将编译成(包含在)新的控制级分析模块的控制字段60。对于图12所示的一类的控制级分析模块130,该信息包括了编译成参数区164的参数ID74,以及下一个分析模块的外部名(除了在分析中将作为结束点,因而根本没有外部名的那些控制级分析模块130以外),它们均可编译成新的控制级分析模块130的下一个模块调用区166。
对由高级分析原语构成的控制级分析模块的编译
为便于说明,图13表示建立一个“变址选择器”类控制级分析模块的例子,即一个调用变址选择器分析原语120的控制级分析模块130。操作员通过操作员接口200向分析建立过程102(图10)发出一个指令,即可生成“变址选择器”控制级分析模块152。该指令将含有以下项目:
1.生成一个新的分析模块的命令字。
2.供新的分析模块驻留的分析控制数据的外部名,例如“路线选择分析”(用于图11中所示的路线选择分析控制数据136)。
3.待生成的分析模块的外部名,例如“RA275”。
4.行政管理信息,例如“用于路线选择的初始数”,它们将被编译成新建的分析模块152的分析模块行政管理标题160。
5.用于编译(和执行)新分析模块的分析原语120的外部名,例如“变址选择器”。
6.专用于所选分析原语功能的信息。在此例(变址选择器)中,下列信息是必需的:
a.用于被分析呼叫控制数据参数的参数ID74,例如用于“初始数”的ID74(此处为用于路线选择目的的“初始数”)。该参数ID74可以是一个标记值,或者,可以是一个外部符号名,利用目录功能翻译成标记值。
b.指出新的分析模块中可能的输出口的总数目,即可以分配给下一个分析模块的分析参数的最大索引值。
c.对每个输出口(包括出界的输出口),给出用作输出口下一个分析模块的分析模块的外部名。
在本发明较佳的实施例中,操作员接口200为一种计算机一计算机接口。它根据OSI(开放式系统的互连)模式配置,并可使用任一种语法。以下的语法仅作为一个例子,说明用于操作员生成一个“变址选择器”分析模块的指令的语法是如何形成的:
CREATE ROUTINGANALYSIS:RA275“ORIGIN FOR ROUTING”INDEX_SELECTOR(58,4,RA187,RA198,RA99,RAO,RA99,RA33)
这一操作员的指令(文本字符串)通过分析原语“变址选择器”的分析建立过程102和建立过程114,按以下步骤读取和鉴别(解释):
1.分析建立过程102识别建立一个新的分析模块的指令,即关键词“Create”(项目1,即指令中第1项),并调用合适的内部成分完成“建立”功能。分析建立过程102可以识别的其它指令包括:在现有的分析模块130(的内容)中修改数值的指令,在分析控制数据136内改变活动分析模块标记表146的指令,例如,修改活动标记表指针144的值,使之指向分析模块标记表148。
2.分析建立过程102的被调用部分抽取分析的外部名,即“路线选择分析”(项目2),然后利用分析控制数据字典132(它含有一连串早先定义的分析),将“路线选择分析”翻译成指向分析控制数据136的指针。
3.分析建立过程102的被调用部分现在抽出新的分析模块的外部名,即“RA275(项目3)。新的分析模块的外部名输入分析模块字典138内,并将一个尚未使用的模块标记,例如值65分配给新的分析模块。
4.分析建立过程102的被调用部分抽取分析原语功能的外部名,即“变址选择器”(项目5),然后,利用分析原语功能字典104(含有一连串早先定义的分析原语功能120)将“变址选择器”翻译成指向该分析原语功能的原语功能标记,例如数值93。
5.分析建立过程102的被调用部分利用分析原语功能标记表106,将原语功能标记(见步骤4)翻译成指向分析原语功能变址选择器的建立过程114的指针,然后开始执行该建立过程114。在这时,控制由分析建立过程102转到变址选择器的建立过程114。
6.分析原语功能变址选择器的建立过程114抽取专用于变址选择器的信息(项目6),为图12所示形式中的新的变址选择器分析模块分配存储空间,并按以下步骤用合适的值充填参数区字段164和模块调用区166:
a.分析原语功能变化选择器的建立过程114抽取被分析的呼叫控制数据参数的参数ID74,即用于“初始数”(项目6a)的标记值(58);以及呼叫参数的最大值,即数值4(项目6b),由此可以计算新的分析模块的输出口的数目(留给下一个模块调用区字段166的空间数比呼叫参数的最大值多两个,即空间数为6。其中五个空间用于数值0-4,另一个空间用于范围以外)。在这时,可以计算新的分析模块的所需容量,分配具有合适容量的空余分析模块,并可以将所抽取的信息写入参数区164内。
b.对于输入文本信息流中所指定的每个输出口(包括范围外输出口),分析原语功能变址选择器的建立过程114,抽取分析模块的外部名(条目6c),并利用分析模块字典138(含有一组早前定义的分析模块130)找到相应的模块标记。模块标记设置在下一个模块调用区166的合适的槽内。在这时,对分析原语功能变址选择器的建立过程114的执行即告结束,控制返回,指向新的分析模块的指针返回到分析建立过程102的最初被调用部分。
7.分析建立过程102的被调用部分将已返回的指向新的分析模块的指针和模块标记(见步骤3)写入非活动(被动)分析模块标记记表148内,即将指针写入被动分析模块标记表148内的槽65中。新的分析模块由此“束缚”于路线选择分析控制数据136内。
8.分析建立过程102的被调用部分将原语功能标记,即数值93(见步骤4)写入新的分析模块的原语功能标记字段162内,并将行政管理信息,即“用于路线选择的初始数”(项目4)写入新的分析模块的行政管理标题160内。因此,分析行政管理模块标题160将含有新的分析模块(“用于路线选择的初始数”)的一个短说明。原语功能标记162将索引指向分析原语功能变址选择器的执行过程112的指针,它在分析(解释)新的分析模块(“RA275”)的执行。
经定义后,通过将相应的模块标记和指针从被动分析模块标记表148(步骤7)拷贝到活动分析模块标记表146,新的分析模块RA275即可用于路线选择分析。当执行RA275时,即执行由原语功能标记162所指示的分析原语功能120变址选择器的DO过程112。变址选择器的DO过程112仅需在一个模块调用区166内索引分析模块标记表,并选择对应于“初始数”调用参数值的分析模块标记。例如,如果“初始数”值为0,将选择RA187:如果“初始数”值为1,将选择RA198;等等。因此,路线选择分析将按照RA275的下一个模块调用区166内的一个分析模块标记,指向分析树中的下一个分析模块130。
注意,指向新的分析模块130的指针首先插入被动分析模块标记表148内,然后转移到活动分析模块标记表146。一般地说,在被动分析模块标记表148内可以对路线选择分析控制数据136作出各种修改。实际上,操作员在任何时候都希望建立或修改同时包括几个控制级分析模块130,而不仅仅包含一个控制级分析模块130的一种分析超结构或子结构。为此目的,活动分析模块标记表146的内容首先要拷贝到被动分析模块标记表148内。这一步骤允许当分析超结构或子结构在被动分析模块标记表148内修改时,活动分析模块标记表146继续应用于对电话通讯的路线选择分析,并进一步确保这些标记表将在内部达到相互一致。
对分析控制数据的修改可以包括例如对新的分析模块130的一连串定义,指向这些模块的指针则插入分析模块标记表148内;或者对现有分析模块130的参数值的一连串修改,从而有效地产生一种新的分析超结构或子结构。在修改后,可以校正分析超结构或子结构的错误,例如,无限循环、无结束等等,然后,通过改变活动标记表指针的值,使之指向分析模块标记表148,而不是指向分析模块标记表146,使分析超结构或子结构投入通讯业务。在一个预定的时期,例如24小时内,将保存原来的活动分析模块标记表146,直至当前的活动分析模块标记表148的效力得到证实为止。如果发生通讯故障,则指向先前被证实过的一组分析模块130的分析模块标记表146可以重新投入通讯业务(重新激活)。
附录A中介绍了可以用于构造新的控制级分析模块的一组高级分析原语120。这组原语可以进一步作为用于本发明较佳实施例的高级功能类型的例子,即应用于通用分析系统,用以在远程通讯系统,例如中心局内控制呼叫处理。本领域的熟练人员将发现,许多其它的高级分析原语也可以实现。
低级分析模块的编译
为了说明利用附录C中所述某些低级分析原函数120来定义一个新的低级分析模块,可对通用分析系统输入以下一行:
PROC2*DUPLICATE ADD ENDPROC
指令第一项(PROC)和最后一项(ENDPROC)是用以构建新的低级分析模块130的低级分析原语120,其方法有点类似于Forth中“:”和“;”的使用。由PROC所定义的每个新的低级分析模块130将含有被编译的字,即在PROC与ENDPROC之间的字(2*,DUPLICATE和ADD)的定义。第二项(2*)是用于新的低级分析模块的外部名。第三和第四项(DUPLICATE和ADD)是低级分析原语120,它们实现新的低级分析模块130的功能。此例中,该原语的功能是用两倍的数值代位于执行时间栈的顶部的项的值(术语“栈”是指项目的顺序表,可以从中添加或移出项目,这样,移出的值就是最后添加到栈中的,即,如本领域人们所周知的,这称为后进先出,或LIFO栈)。附录C中更为详细地描述了栈在执行低级分析原语功能DUPLICATE和ADD中的作用。
新产生的名为2*的低级分析模块130a示于图14。在分析原语功能标记表106中,原语功能标记162调用低级分析原语功能PROC 120a的条目。由PROC分析原语120a的建立部分所编译的控制字段60,包括一个函数标记序列,可用于调用在分析原语标记表106中的低级分析原语DUPLICATE 120c,ADD 120d和EDNPROC 120b。新的低级分析模块130a将被指定一个分析模块标记值,并将插入分析控制数据内,这样,当编译其它的分析模块时,它可以用外部名(2*)调用;当执行分析时,它可以用指定的分析模块标记调用。换句话说,任何随后编译的字都可以调用词2*,就象它是任何别的字一样(一个字通过简单地使用其在输入定义中的名称即可调用)。调用时,2*执行其功能然后返回(这类似于执行子程序调用)。
对高级分析模块的编译
向通用分析系统输入以下的项目,可说明如何利用附录C中所述的某些低级分析原语120和上面定义的低级分析模块2*,来定义一个新的高级分析模块130,后者可以用来在一个分析树内编译和执行控制级分析模块:
输入 功能和操作
PROC 4SELECTOR
<BUILDS - 开始编译时间动作。
O - 在新的分析模块内开始
偏移。
INSERT_ - 插入用于呼叫参数的参
CALLPARM 数ID74。
INSERT_MODULE - 插入用于值=0的分析
模块标记。
INSERT_MODULE - 同上,用于值=1。
INSERT_MODULE - 同上,用于值=2。
INSERT_MODULE - 同上,用于值=3。
DOES> - 开始执行时间动作。
O - 分析模块130中的参数
ID74的偏移量。
FETCH_ - 通过分析执行输入数据
PARAMETER 处理器110向呼叫控制
数据存储处理器118存
取,并将用于被分析呼
叫的参数值116压进栈
1AND2*- 计算到达值的输出口的
分析模块内的偏移量,
(分析模块标记假设为
2个字节长)。
PERFORM - 在由位于栈的顶部的值
所指示的偏移位置,读
得分析模块标记,并完
成至该分析模块的转
移。
ENDPROC
使用固定分析模块4SELECTOR所编译的分析模块,其功能是根据呼叫控制数据116中的一个呼叫参数在0-3范围内的值,选择一个输出口(高级分析模块4SELECTOR具有四个输出口,其功能非常象具有10个输出口的高级分析原函数SELECTOR,后者已在前文结合图8进行了讨论)。正如对2*的定义一样,对4SELECTOR的定义封装在低级分析原语PROC和ENDPROC之间。然而,对4SELECTOR的定义则分为建立过程和DO过程,前者封装在低级分析原语<BUILD和DOSE>之间,后者封装在低级分析原语DOSE>和ENDPROC之间。
4SELECTOR的建立过程包括一个低级分析原语120或早先定义的低级分析模块130序列,它们规定了4SELECTOR类型的分析模块130是如何编译的,即它们规定了写入所建立的分析模块130的控制字段60的内容(在4SELECTOR情况下,控制字段60将包括参数区164和下一个模块调用区166,如图12所示)。附录C更为详细地介绍了在建立操作序列中使用的低级分析原语。
4SELECTOR的DO过程包括一个低级分析原语120或早先定义的低级分析模块130的序列,它们规定了4SELECTOR类型的分析模块130是如何执行的,即它们规定了利用参数区164和下一个模块调用区166的内容,来选择分析树中下一个分析模块130的操作。附录C描述了用于DO操作序列的低级分析原语120(FETCH_PARAMETER,0,1,ADD和PERFORM),而2*则是上面说过的低级分析模块。
图15说明名为4SELECTOR的新建的高级分析模块130b。原语功能标记162访问分析原语功能标记表106中低级分析原语PROC 120a的入口。由PROC 120a的建立部分所编译的控制字段60,首先包括由<BUILD过程的建立部分所递归编译的部分,并且包含指向DO过程的指针。和调用分析原语功能<BUILD120e的一个功能标记。由PROC分析原语的建立部分所编译的参数区164的余下部分,包含一个功能标记序列,它们可调用分析原语功能。(常数“0”)120f、INSERT_CALLPARM 120g、INSERT_MODULE120h、DOES>120i、FETCH_PARAMETER 120j、1(常数“1”)120k、ADD 120l(图14中为120d)、PERFORM 120m和ENDPROC 120b以及用于2*的低级分析模块130a。新的高级分析模块130将被分配一个分析模块标记值,并将插入分析控制数据,这样,当编译其它分析模块时,它可用外部名“4SELECTOR调用;当执行一个分析,例如路线选择分析时,它可用所分配的分析模块标记调用。
定义后,可以用高级分析模块4SECECTOR来创建新的控制级分析模块130。在编译时间,即当执行4SELECTOR的建立过程时,INSERT CALLPARM将向被编译的新分析模块130插入一个指向呼叫参数的指针,即将被分析的呼叫参数的外部名编译为一个参数ID74,以便对呼叫记录116中该呼叫参数的所在位置进行访问;INSERT_MODULE(它在序列中被调用四次)向被编译的分析模块130插入一个具有四个模块指示器80的序列(对应于0-3范围内的四个呼叫参数值),由此将被编译的分析模块130链接到分析树中的下一个分析模块130。在执行时间,即当执行4SELECTOR的DO过程时,FETCH_PARAMETER将取出参数46,例如由呼叫控制数据54的参数ID74所指示的一个拨号数,序列(1ADD2*PERFORM)将选择下一个执行的分析模块130,它由模块指示器80结合被解释的4SELECTOR类分析模块130中的参数46的值(0-3)表示。
对由高级分析模块构成的控制级分析模块的编译
送到通用分析系统的以下输入项,说明如何利用高级分析模块4SELECTOR来定义(编译)一颗分析树中的新的控制级分析模块130,后者例如驻留于路线选择分析控制数据136中:
输入 功能和操作
4SELECTOR THISID - 指令通用分析系统使用
4SELECTOR类的外
部名为THISID的高级
分析模块编译一个新的
控制级分析模块。
LINECLASS - 编译时间输入,对象为
4SELECTOR的建立
过程内的INSERT_
CALLPARM。
INSERT _
CALLPARM将把用
于呼叫参数
LINECLASS的参数
ID74插入新的分析模
块。
MODULEID_O - 编译时间输入,对象为
4SECECTOR的建立
过程内的第一
INSERT _
MODULE。
如果LINECLASS的
值为0,INSERT_
MODULE将在被选择
的分析模块树中插入用
于下一个分析模块的分
析模块标记。
MODULEID_1 - 同上,对应于第二
INSERT MODULE,
相应的LINECLASS
值为1。
MODULEID_2 - 同上,对应于第三
INSERT MODULE,
相应的LINECLASS
值为2。
MODULEID_3 - 同上,对应于第四
INSERT MODULE,
相应的LINECLASS
值为3。
图16表示由上述输入行所产生的分析模块的结构。新的4SELECTOR型分析模块130c含有原语功能标记162的值,它通过分析模块标记表146,调用名为4SELECTOR的定义分析模块130b。分析模块130c的参数区164包含一个参数ID74,它调用呼叫控制数据126中的呼叫参数LINECLASS。分析模块130c的下一个模块调用区166包含一张四个分析模块标记表,后者通过分析模块标记表146可调用下一个分析模块130d、130e、130f和130g,它们分别被选择用于呼叫参数值0、1、2和3。
可扩展性
由此可见,正如一种新的控制级分析模块130可以由内装的高级分析原语120定义,并加到用于特定分析,例如路线选择分析控制数据136的分析控制数据中那样,新类型的控制级分析模块也可以由用户定义的高级分析模块130建立。例如,在前面关于如何生成一个变址选择器类分析模块的描述中,已经采用一个高级分析模块130的建立过程,而不是采用高级分析原语120。其功能像高级分析原语120一样的高级分析模块130,可以由内装低级分析原语120和早先定义的低级分析模块130构建,随后再由低级分析原语120通过递归定义。通用分析系统的扩展能力允许用户自由地在分析控制数据42中构建专用或用户特定分析,而不是发表一个新的通分析程序,通过其特殊类型的内装功能来满足用户的特定需求。
为了实用的目的,也为了在实时感知应用中取得最佳的性能,常用的分析原语即使不是全部也有绝大多数作为内装的高级分析原语120提供给通用分析系统。而极少使用或用户专用的分析原语则由用户定义的分析模块130提供,该类模块可以按图14-16所示的方法由内部低级分析原语120来生成。附录C中描述了一组低级分析原语120。这组低级分析原语包括了若干例不同类型的低级分析原语120,它们可用来提供所需的扩展能力。而本领域的熟练人员将可发现,许多其它的低级分析原语120也可以使用。
除了构建专用的或用户特定的分析以外,低级分析原语120还可用于在通用分析系统某特定的版本已经发表后,补充引入新的功能。这种新的功能性例如可以(ⅰ)使通用分析系统适应特定的要求,例如,统计对特定用户如BellOperating公司的抽样,或者(ⅱ)使某种特定类型的分析适合于新的分析模块系列使用,例如对移动位置用户与固定位置用户的比较,或者(ⅲ)为现存的功能提供通用的扩充性。此后,这些新的功能可在通用分析系统的以后版本中通过内装的分析原语120来提供,以便获得更好的性能(执行速度),即,让高级原语通过直接编译的代码,而不是通过间接调用低级原语的链式代码提供。
分析原语与分析模块之间在编译时间与执行时间的差异
原则上,通与分析系统像处理内装分析原语120那样处理用户定义的分析模块130。然而,在它们的编译时间与执行时间状态中存在某种差别。具体说,分析原语120的外部名将见于分析原语字典104内,而分析模块130的外部名将见于具有特定分析的分析模块字典内,例如,路线选择分析控制数据136中的分析模块字典138。相反,任何分析原语120或分析模块130内的原语功能标记162(和任何其它功能标记),既可以索引分析原语标记表106,也可以索引分析模块标记表146(例如,由图15可见,高级分析模块130b内的功能标记既指向低级分析模块130a,又指向几个低级分析原语120a、120b、120e、120f、120g、120h、120i、120j、120k、120l和120m)。
在编译状态期间,当操作员通过操作员接口200输入一个指令,以在一个特定分析内部建立一个新的分析模块130,例如路线选择分析控制数据136时,新的分析模块130的输入定义可以包含或者内装的分析原语120,或者先前定义的分析模块130的外部名。例如,对新的高级分析模块130的定义可以包含低级分析原语120和低级分析模块130的名称。同样,新的控制级分析模块130的定义可以使用或者是高级分析原语120,或者是高级分析模块130的定义字,并可以含有几个先前定义的控制级分析模块130的名称。因此,为了找到在输入文本信息串中命名的每一个分析原语120或分析模块130,既可以检索分析原语字典104,也可以检索分析模块字典138。
在执行状态期间,在新的分析模块130已经建立并加到路线选择分析控制数据136后,当呼叫控制程序56发出执行路线分析控制数据136的请求时,在新的分析模块130中的功能标记162(和任何其它的功能标记),可以或者指向内装的分析原语120,或者指向用户定义的分析模块130。因此,为了将新的分析模块130中的原语功能标记162(和任何其它标记),翻译成指向分析原语120或分析模块130(早先由操作员用来生成新的分析模块130)的指针,可能必需既检索分析原语标记记表106,又检索分析模块标记表146。
在编译或执行期间,可以设计几种检索策略来查找分析原语120和分析模块130。例如,在编译用于路线选择分析的新的控制级分析模块130中,检索高级原语(定义字)可以首先从用户定义的分析模块130着手,继之以内装的分析原语120,也即其具体策略可以是在用作由操作员所输入的原函数名的路线选择分析控制数据136中,检索分析模块字典138。如果这一检索未能找到该名称,再在分析原语字典109中检索(推荐这种检索顺序,是因为用户例如可以选择建立一个分析模块130,它是分析原语120的特殊版本,并且把内装的分析原语120的名称也用作用户定义的分析模块130的名字)。所有标准的快速检索技术,包括散列表都可以用于完成这些字典检索。
然而,为了在执行(比之编译更具有时间敏感性)期间进行有效的检索,并避免在分析原语功能标记表106和分析模块标记表146中同时进行检索,通用分析系统可以具备在原语标记与分析模块标记之间进行区分的能力(它们分别调用内装分析原语120和用户定义的分析模块130)。许多用以在原语标记与分析模块标记之间进行区分的技术均可应用于本发明的较佳实施例,一个相对简单的技术是利用两个不同的数字范围,例如,分别将正数和负数用于原语功能标记和分析模块标记。如果采用正数和负数,例如,原语标记中的最高位可指定为数值O,而分析模块标记中的最高位可指定为数值1(或反之亦可)。这样,通用分析系统就可以在执行期间方便地确定检索两个标记表106和146中的哪一个。
注意,在本发明的较佳实施例中,所有分析原语120(图10)和每一个分析控制数据结构(图11)中的所有分析模块130,各使用一个单独的字典和一个单独的标记表。在另一种实施例中,所有不同分析的分析原语120和分析模块130,把它们的外部名和标记分别存储在同一个字典和同一张标记表内。将分析模块130从分析原语120分离出来,然后,再将用于一个分析的分析模块130从用于另一个分析的分析模块130分离出来,其一种可能的优点是,通用分析系统的用户可以构建不同的分析模块用于每种不同的分析,而不是用一个大的系统对付所有的分析。即,用户可以以模块方式扩展一组分析模块用于每一种分析。将内装的分析原语120从用户定义的分析模块130中分离出来的另一个可能的优点是,分析原语120可以存储于存储器内的一个地方,使之具有写保护(只读式),用于安全目的;而分析模块130可以存储在存储器的另一个地方,用户可以对其作读和写存取。
操作员接口
本领域的熟练人员将可发现,操作员接口200可以用几种接口技术实现。在本发明的较佳实施例中,远程通信管理网络(TMN)结构被采用,因此,按照开放型系统至连(OSI)模型,操作员接口200应是一种分层接口。例如,参阅ANSI TI-210-1989美国国家标准”远程通信-操作、管理、维护和供应(OAM&P)-用于运行系统与网络元件之间的接口的功能、结构和协议。
在OSI模型的顶层,采用公共管理信息服务元件(CMISE)协议。CMISE提供一组通用指令,诸如Set、Get、Delete、Modify等等,它可以应用于管理用标,在本发明的通用分析系统中,管理目标包括分析控制数据例如路线选择控制数据136内的分析模块130。为了规定用于管理目标的值,通过CMISE传送的信息是上下文有关的,即,它取决于管理目标的类型。顺便说,该上下文有关的信息可以同样好地通过其它手段,诸如人-机接口传送。例如,一个终端直接连接到通用分析系统,它采用由CCITT定义的人机语言(MML)或一种为通用分析系统设计的专门语法。
操作员接口200的不同实现方法,可以采用不同的技术来识别分析模块130,但可以采用一种公用技术来表示其内部结构。利用链式解释型语言(TIL)的正常功能,分析模块130的结构和数值可以以一个TIL源格式表示,即一个含有对分析模块定义的文本字符串(字和数字)。实际上,通用分析系统可能需要同时支持一种以上的接口,然后,操作员接口200可以考虑包括一个由几个外部接口公用的内部系统接口。此情况可用图17一般表示。
图17所示的操作员接口200例如可以由一组子程序构成,它提供一组通用操作,用来定义新的分析模块,删除或替换不用的分析模块,在任何分析控制数据中以控制活动和被动分析模块标记表的使用等等。所需的加至一个子程序的输入,例如在分析控制数据中插入一个新的分析模块,可以包括:(ⅰ)对分析控制数据,即分析外部名的识别,(ⅱ)对分析模块,即分析模块外部名的识别,以及(ⅲ)用先前讲过的方式(编译例子)按TIL源格式排列的分析模块内容的定义。
图17中,市话接口适配器240使内部系统接口200适合于连至文本终端245的外部系统接口243,操作员在此终端可以添加和修改用于各种分析的分析控制数据,例如,路线选择分析控制数据136。外部接口243例如可以是一个以文本为基础的接口,与先前例举的用于本发明编译状态的例子是一致的。局部接口适配器240将来自终端245上的操作员的文本信息流翻译成内部系统接口200中的子程序调用序列。以CMISE为基础的接口适配器241通过接口248,与一个外部运行支持系统242通讯。运行支持系统242是在一个远程通讯网络中,用来管理若干个远程通讯系统,例如接线器的一个支持系统。运行支持系统通过一个接口246连接到终端247,后者例如可以是一台图形编辑机。
在运行支持系统与远程通讯系统之间,目前,有几种不同类型的接口正在使用。为便于说明起见,在采用本发明通用分析系统的运行支持系统242与远程通讯系统之间的接口248。假定是以ANSIT1-210-1989给出的框架为基础的。这种接口可以用于运行支持系统242与利用通用分析系统的远程通讯系统之间的直接数据链路上,或者也可以连接到采用CCITT推荐X.25的数据通讯网络。接口248包括关于所有七层OSI模型的协议。在顶层,采用CMISE应用服务体系(ISO9595-2,9596-2)。
以CMISE为基础的接口适配器241将接口200连接到运行支持系统242,后者用于采用通用分析系统的远程通讯系统;并将所收到的CMISE动作翻译为内部系统接口200内的子程序调用序列。CMISE动作包括诸如Set、Get、Create、Delete等指令。这些操作包括识别上述动作作用对象的各种参数或标记。例如,在分析控制数据内接入一个新的分析模块的动作,将包含识别分析的参数(对应于分析的外部名),分析模块的标志(对应于分析模块的外部名),以及对特定分析模块内容的定义。在假设的框架中,CMISE操作是用CCITTrec.x.209定义的“ASN.1基本编码规则”进行编译的。然而,在编码CMISE操作内的参数中,仍然可以用一个嵌入的TIL源格式来定义分析模块的内容。
前述利用加至通用分析系统的输入的例子,如(ⅰ)在一个分析内由一个高级分析原语生成一个新的控制级分析模块;(ⅱ)生成一个新的低级分析模块,它可以以后包括在对其它分析模块的定义中;(ⅲ)生成新的高级分析模块,它可以以后用来在分析中生成新的控制级分析模块;以及(ⅳ)由高级分析模块构建新的控制级分析模块,也全部适用于采用以CMISE为基础的接口适配器241向通用分析系统输入的情况,虽然按照通用分析系统的要求,不同输入参数的编码将有某些不同。
因此,根据本发明,既使是有TIL特征的通用运行接口,例如CMISE也将成为可扩充的一种接口。无需实际改变接口就可增加新的功能,并可使通用接口变得更为复杂。这种可扩充的接口可用来向内装的原语功能增添新的分析原语功能,对于某些分析来说,它们是特别需要的。鉴于用户定义的分析原语功能,可能对通用分析系统的实时处理性能产生影响,那些已证明为非常有用的上述原语功能总是在下一版通用分析系统中被固化(hard-coded),以改进且无需修改任何已有的定义。
通用分析系统的要点
根据上述讨论,现在可以清楚地了解本发明。概括本发明的某些特征有:分析控制数据,即分析控制数据42的综合结构,可以类似于程序那样存储于数据之中,并用一个综合的解释程序,即通用分析程序40进行解释。每个特定分析,例如路线选择分析,可以由若干分析功能,即(控制级)分析模块130表示,它们均可作为数据存储于分析控制数据42内。至少有某些分析模块130在某个(些)参数上操作并产生有用的分析,而且,这些分析模块可以与某它分析模块130组合和重新组合,以产生更为复杂的分析。用于每个(控制级)分析模块130的一种标准化了的结构,包括指向一个特定解释子程序,即一个分析原语功能120的指针,该分析原语在每一分析中,以大致相同的方式解释一个特定类型的(控制级)分析模块130和指向另一个(控制级)后随的分析模块130的指针。因此,通过改变各(控制级)分析模块130之间的指针即可方便地变换分析。
如果一个分析需要在分析中增加一个新的功能,或增加一个新的被分析参数,那么可以在分析控制数据42内构建一个或多个新的分析模块130,以提供新的功能并对新的参数操作。因此,本发明的通用分析系统从既有新的参数,又有新的分析类型这一点来看,是可扩充的和可扩展的。更有甚者,由于分析控制数据的综合结构,操作员接口也可以综合,并可安置成一个能与不同的操作员支持系统方便地接口的程序。一个高级的操作员接口可以在分析控制数据42内产生一个新的分析模块130的过程中,提供先进的工具来辅助操作员。
采用这种方法,本发明的通用分析系统不仅可避免,按现有技术的分析系统所要求的专门格式制备用于每一分析的数据时所耗费的大量资金。而且可以使分析确定某种特定产业环境,例如电话接线环境的意想不到的要求,无需对通用分析程序40进行任何修改,而这种修改按照现有的分析系统是必不可少的。正是由于以利用程序(通用分析程序40)的数据(分析控制数据42)取代了利用数据的程序,即由每个(控制级)分析模块130本身指示用以解释含于其中的数据的子程序(分析原语120),而不是由子程序指示被解释的数据,使本发明的新颖概念可能取得上述的效果。根据本发明,对于在特定版本的通用分析程序40中没有预测和估计到的新的功能和新的参数,可以方便地通过在分析控制数据42中定义新的分析模块130(包括其作用类似于分析语120的分析模块130)而得到的。
以上的详细描述仅表示本发明的某些特定的实施例。而本领域的熟练人员将会发现,在实质上不脱离本发明精神和范围的情况下,还可以对此作出许多改换和变化。因此,很显然,上述本发明的形式仅仅是一种示例,它并非用作对本发明范围的一种限制。
Claims (55)
1、一种通用分析系统,其特征在于包括:
通用分析程序,用以在一组数据上完成至少一个分析;以及
分析控制数据,用以控制对所述数据组的所述至少一种分析。
2、如权利要求1所述的通用分析系统,其特征在于,
所述通用分析程序包括多个分析原语;
所述分析控制数据包括多个分析模块;以及
所述至少一种分析由一组所述分析模块构成,且通过利用至少一个所述分析原语解释所述一组分析模块而完成。
3、如权利要求2所述的通用分析系统,其特征在于,所述通用分析程序进一步包括用以增加新的分析模块的装置。
4、如权利要求2所述的通用分析系统,其特征在于,每个所述分析原语解释一个特定类型的分析模块。
5、如权利要求4所述的通用分析系统,其特征在于,每个所述分析模块包括:
对用以解释其类型的分析原语的指示;以及
用以控制所述至少一种分析的一部分的控制数据。
6、一种用以处理电话呼叫的系统,其特征在于包括:
至少一台交换机,所述每台交换机包括:
包括多个分析原语的通用分析程序;
包括多个分析模块的分析控制数据;以及
包括多个呼叫记录的呼叫控制数据,每个记录用于通过所述交换机的每一电话呼叫。
7、如权利要求6所述的系统,其特征在于,所述分析模块分组为多个分析结构,每个分析结构控制一个不同的分析。
8、如权利要求7所述的系统,其特征在于,所述分析结构包括路线选择分析结构和目的地分析结构。
9、如权利要求7所述的系统,其特征在于,每个呼叫记录存储多个呼叫参数值,它用于以下至少一种:
用户数据,包括主叫用户服务简介上的数据;
用户输入,包括由所述主叫用户拨出的数字;
分析结果,由所述通用分析程序在一个所述分析结构的控制下完成,所述结果通过所述通用分析程序写入呼叫记录;以及
其它数据,通过呼叫控制程序写入呼叫记录,指令所述通用分析程序执行不同的分析。
10、如权利要求9所述的系统,其特征在于,所述结果由所述通用分析程序用来完成另一分析。
11、如权利要求9所述的系统,其特征在于,所述结果由所述呼叫控制程序用来控制呼叫处理。
12、一种控制工业过程的方法,其特征在于包括如下步骤:
存储多个参数,用于所述工业过程;
执行多个分析模块,每个分析模块控制一部分对所述参数的分析,并有至少一个分析模块产生所述分析的结果;以及
根据所述结果控制所述工业过程。
13、如权利要求12所述的方法,其特征在于,所述参数包括:
由所述工业过程所产生的输入;
定义所述工业过程性质的数据;以及
先前执行分析的结果。
14、如权利要求12所述的方法,其特征在于,所述结果为所述分析的一个中间结果。
15、如权利要求12所述的方法,其特征在于,所述结果为所述分析的最终结果。
16、如权利要求12所述的方法,其特征在于,所述工业过程为连接电话呼叫的过程,所述参数是与呼叫有关的数据。
17、如权利要求12所述的方法,其特征在于,每个所述分析模块包括:
功能指示器,当执行调用分析模块时指示所执行的功能;以及
控制字段,含有由所述功能解释的控制数据。
18、如权利要求17所述的方法,其特征在于,所述控制字段包括至少一个模块指示器,用以指示下一个待执行的分析模块。
19、如权利要求17所述的方法,其特征在于,所述控制字段包括至少一个参数标志,用以识别一个参数在存储器中的位置。
20、如权利要求19所述的方法,其特征在于,所述功能分析存储在所述存储器位置中的参数值。
21、如权利要求19所述的方法,其特征在于,所述控制字段进一步包括至少一个预定值,所述功能将所述预定值写入所述存储器位置。
22、一种用以编译和执行至少一种分析,用以控制一个工业过程的方法,其特征在于包括如下步骤:
提供多个高级分析原语,每个高级分析原语包括一个建立过程和一个执行过程;
利用至少一个所述高级分析原语的建立过程,编译多个控制级分析模块,所述控制级分析模块形成一种树结构,所述树结构表示所述至少一种分析;以及
在所述树结构中利用高级分析原语的执行过程,执行每个控制级分析模块,所述高级分析原语用以编译所述控制级分析模块。
23、如权利要求22所述的方法,其特征在于,进一步包括如下步骤:
提供多个低级分析原语;
用所述低级分析原语编译多个低级分析模块;
用所述低级分析模块编译多个高级分析模块,每个所述高级分析模块包括一个建立过程和一个执行过程;
用至少一个所述高级分析模块的建立过程,编译多个新的控制级分析模块,所述新的控制级分析模块被加入所述树结构;以及
利用高级分析模块的执行过程,执行所述树结构中每个新的控制级分析模块,所述高级分析模块用以编译所述新的控制级分析模块。
24、如权利要求23所述的方法,其特征在于,所述高级分析原语和所述低级分析原语为内装的函数。
25、如权利要求23所述的方法,其特征在于,所述高级分析模块和所述低级分析模块为用户定义的功能。
26、一种通用分析系统,其特征在于包括:
通用分析程序,它包括多个低级分析原语和多个高级分析原语,每个所述低级分析原语包括一个执行特定功能的子程序,每个所述高级分析原语具有一个建立过程和一个执行过程;以及
分析控制数据,它包括多个低级分析模块,多个高级分析模块和多个控制级分析模块,每个所述低级分析模块由至少一个所述低级分析原语编译,每个所述高级分析模块具有一个建立过程和一个执行过程,每个所述控制级分析模块用建立过程编译,并用一个所述高级分析原语或一个所述高级分析模块的执行过程解释。
27、如权利要求26所述的通用分析系统,其特征在于,所述低级和高级分析原语是内装的,且所述低级、高级和控制级分析模块是用户定义的。
28、如权利要求26所述的通用分析系统,其特征在于,每个所述控制级分析模块包括一个功能指示器和一个控制字段,所述功能指示器调用解释高级分析原语或高级分析模块,所述控制字段含有控制数据,用以控制一部分分析。
29、如权利要求28所述的通用分析系统,其特征在于,至少某些所述控制级分析模块的每一个进一步包括一个参数标志,所述参数标志通过调用控制级分析模块,调用被分析的参数。
30、一种通用分析系统,其特征在于包括:
用于多种分析的多个分析控制数据结构,每个分析控制数据结构都具有一个外部分,每个所述分析控制数据结构包括:
多个分析模块,每个分析模块具有一个外部名,且至少某些分析模块当执行分析时执行;
一个分析模块字典,它用以将所述分析模块的名称翻译成相应的模块标记;以及
至少一个分析模块记录,它用以将所述模块标记翻译成相应的指向所述分析模块的指针;
分析控制数据字典,它用以将所述分析的名称翻译成相应的指针,指向所述分析控制数据结构;
多个分析原语,每个具有一个外部名,且至少某些分析原语编译和解释特定类型的所述分析模块;
分析原语功能字典,它用以将所述分析原语功能的名称翻译成相应的原语功能标记;
分析原语功能标记表,它用以将所述的原语功能标记翻译成相应的指针,指向所述分析原语功能;
分析解释过程,它响应于输入数据的接收,使所述分析的执行初始化,所述输入数据包括所述选择的分析的名称和一个参数记录指针,所述参数记录指针指向含有一组被分析参数的记录;
分析执行输入数据处理器,它用以存储所述参数记录指针,并在执行所述选择的分析期间,使所述分析原语功能能存取所述的参数;以及
分析建立过程,它响应于指令的接收,使新的分析模块的编译初始化,所述指令包括在至少一个所述分析控制数据结构内的至少一个分析的名称,被编译的分析模块的名称,以及用于编译新的分析模块的分析原语功能的名称。
31、如权利要求30所述的通用分析系统,其特征在于,所述至少某些分析原语功能的每一个包括一个建立过程和一个执行过程,所述建立过程用以编译一特定类型的分析模块,所述执行过程用以解释所述类型的分析模块,所述分析原语功能标记表将用于所述至少某些分析原语功能的每一个的原语功能标记翻译成两个指针,其中,第一指针指向所述建立过程,第二指针指向所述执行过程。
32、如权利要求30所述的通用分析系统,其特征在于:
所述输入数据通过呼叫控制程序发送,所述呼叫控制程序通过一远程通讯系统控制电话通讯业务的处理;以及
所述参数包括与至少一个电话呼叫有关的数据。
33、如权利要求30所述的通用分析系统,其特征在于:
所述输入数据进一步包括专用于所述选择的分析的其它信息;以及
所述其它信息存储在所述分析执行输入数据处理器。
34、如权利要求33所述的通用分析系统,其特征在于,所述的其它信息包括指向其它待分析的参数记录的指针。
35、如权利要求30所述的通用分析系统,其特征在于,所述分析执行输入数据处理器与一个数据存储处理器通讯,所述数据存储处理器处理从所述参数记录读得和向所述参数记录写入参数值。
36、如权利要求30所述的通用分析系统,其特征在于,每个所述分析控制数据结构包括:
多个分析模块标记表;
一个活动标记表指针,它用以指向所述多个分析模块标记表中的一个活动标记表;以及
分析起始标记,当一个分析执行时,它调用被执行的第一分析模块,且它通过所述活动模块标记表翻译成指向第一分析模块的指针。
37、如权利要求36所述的通用分析系统,其特征在于,所述分析起始标记和所述活动标记表指针,驻留于每个所述分析控制数据结构的一个分析执行起始数据结构中。
38、如权利要求36所述的通用分析系统,其特征在于,所述分析建立过程接收一个指令,以修改所述活动标记表指针的值。
39、如权利要求30所述的通用分析系统,其特征在于,每个所述分析的名称,既被翻译成指向相应分析控制数据结构的指针,又被翻译成指向分析中被执行的第一分析模块的标记。
40、如权利要求30所述的通用分析系统,其特征在于,所述指令通过与所述分析建立过程进行通讯的操作员接口输入。
41、如权利要求30所述的通用分析系统,其特征在于,所述分析建立过程接收一个指令,以修改至少一个先前存在的分析模块的内容。
42、一种用以控制一个工业过程的系统,其特征在于包括:
用以存储多个为所述工业过程所用的参数的装置;
用以执行多个分析模块的装置,其每个分析模块控制对所述参数的一部分分析,且至少一个分析模块从所述分析中产生一个结果;以及
用以根据所述结果控制所述工业过程的装置。
43、如权利要求42所述的系统,其特征在于,所述参数包括:
由所述工业过程产生的输入;
定义所述工业过程性质的数据;以及
先前执行分析的结果。
44、如权利要求42所述的系统,其特征在于,所述结果为所述分析的一个中间结果。
45、如权利要求42所述的系统,其特征在于,所述结果为所述分析的最终结果。
46、如权利要求42所述的系统,其特征在于,所述工业过程是一种用以连接电话呼叫的过程,所述参数为与呼叫有关的数据。
47、如权利要求42所述的系统,其特征在于,每个所述分析模块包括:
功能指示器,当调用分析模块执行时,它指示被执行的功能;以及
控制字段,含有由所述功能解释的控制数据。
48、如权利要求47所述的系统,其特征在于,所述控制字段包括至少一个模块指示器,用以指示下一个被执行的分析模块。
49、如权利要求47所述的系统,其特征在于,所述控制字段包括至少一个参数标志,用以识别一个参数在存储器内的位置。
50、如权利要求49所述的系统,其特征在于所述功能分析存储于所述存储器位置中的参数值。
51、如权利要求49所述的系统,其特征在于,所述控制字段进一步包括至少一个预定值,所述功能将所述预定值写入所述存储器位置。
52、一种用以编译和执行至少一种分析,用于控制一个工业过程的系统,其特征在于包括:
用以提供多个高级分析原语的装置,所述每个高级分析原语包括一个建立过程和一个执行过程;
利用至少一个所述高级分析原语的建立过程,以编译多个控制级分析模块的装置,所述控制级分析模块形成一个树结构,所述树结构表示所述至少一种分析;以及
利用高级分析原语的执行过程,在所述的树结构中用以执行每个控制级分析模块的装置,所述高级分析原语用以编译所述控制级分析模块。
53、如权利要求52所述的系统,其特征在于进一步包括:
用以提供多个低级分析原语的装置;
利用所述低级分析原语编译多个高级分析模块的装置;
利用所述低级分析模块编译多个高级分析模块的装置,每个所述高级分析模块包括一个建立过程和一个执行过程;
利用至少一个所述高级分析模块的建立过程,编译多个新的控制级分析模块的装置,所述新的控制级分析模块被加入所述树结构;以及
利用高级分析模块的执行过程,执行所述树结构中每一个新的控制级分析模块的装置,所述高级分析模块用以编译所述新的控制级分析模块。
54、如权利要求53所述的系统,其特征在于,所述高级分析原语和所述低级分析原语为内装的功能。
55、如权利要求53所述的系统,其特征在于,所述高级分析模块和所述低级分析模块为用户定义的功能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/974,165 | 1992-11-10 | ||
US07/974,165 US6134304A (en) | 1992-11-10 | 1992-11-10 | General analysis system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1091577A true CN1091577A (zh) | 1994-08-31 |
Family
ID=25521680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93114351A Pending CN1091577A (zh) | 1992-11-10 | 1993-11-10 | 通用分析系统 |
Country Status (13)
Country | Link |
---|---|
US (2) | US6134304A (zh) |
EP (1) | EP0669071B1 (zh) |
JP (1) | JPH08505740A (zh) |
KR (1) | KR100305373B1 (zh) |
CN (1) | CN1091577A (zh) |
AU (1) | AU698159B2 (zh) |
BR (1) | BR9307416A (zh) |
CA (1) | CA2146243C (zh) |
DE (1) | DE69328784T2 (zh) |
FI (1) | FI952252A0 (zh) |
MX (1) | MX9306218A (zh) |
NO (1) | NO951809L (zh) |
WO (1) | WO1994011996A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424941B (zh) * | 2007-10-31 | 2011-05-25 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种控制实现方法和系统 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE518247C2 (sv) * | 1992-08-28 | 2002-09-17 | Ericsson Telefon Ab L M | Programvarustruktur för ett telekommunikationssystem |
SE503376C2 (sv) * | 1994-06-13 | 1996-06-03 | Ericsson Telefon Ab L M | Kundprofilerad telekommunikationstjänst |
FI100443B (fi) * | 1995-04-10 | 1997-11-28 | Nokia Telecommunications Oy | Liikenteen väylöitys tietoliikenneverkon solmussa |
US5757900A (en) * | 1995-06-02 | 1998-05-26 | Bell Communications Research, Inc. | System and method for single access database retrievals |
US5826030A (en) * | 1995-11-30 | 1998-10-20 | Excel Switching Corporation | Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format |
US6028924A (en) * | 1996-06-13 | 2000-02-22 | Northern Telecom Limited | Apparatus and method for controlling processing of a service call |
US5991389A (en) * | 1996-06-13 | 1999-11-23 | Northern Telecom Limited | Programmable service architecture for call control processing |
US6038309A (en) * | 1996-06-13 | 2000-03-14 | Northern Telecom Limited | Apparatus and method for externally controlling processing of a service call |
US5930334A (en) * | 1997-03-28 | 1999-07-27 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for monitoring the operation of telecommunications equipment |
US6198813B1 (en) * | 1997-09-30 | 2001-03-06 | Alcatel Usa Sourcing, L.P. | System and method for providing call processing services using call independent building blocks |
US6069947A (en) * | 1997-12-16 | 2000-05-30 | Nortel Networks Corporation | Communication system architecture and operating protocol therefor |
EP1062559A2 (en) | 1998-03-12 | 2000-12-27 | DMW Worldwide, Inc. | Operational system for operating on client defined rules |
FI106168B (fi) | 1998-12-09 | 2000-11-30 | Nokia Networks Oy | Järjestelmä ja menetelmä analyysin optimoimiseksi |
WO2000062517A1 (en) | 1999-04-14 | 2000-10-19 | Vocaldata, Inc. | Telephony server |
US6396913B1 (en) * | 1999-10-22 | 2002-05-28 | Convergys Cmg Utah Inc. | System and method for processing call detail records |
JP2002041697A (ja) * | 2000-07-25 | 2002-02-08 | Toshiba Corp | 電子カタログシステムおよびその管理運用装置および管理運用方法 |
DE10313910A1 (de) * | 2003-03-27 | 2004-10-07 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren zur Ermittlung von Abweichungen einer Endsystem-Nachricht von einer Referenznachricht |
CN100561408C (zh) * | 2005-12-30 | 2009-11-18 | 中国科学院计算技术研究所 | 一种基于原语机制的外设网络调用方法 |
US8208606B2 (en) * | 2007-12-20 | 2012-06-26 | At&T Intellectual Property I, Lp | Method and system for verifying the status of 911 emergency telephone services |
US20090192868A1 (en) * | 2008-01-24 | 2009-07-30 | Vrinda Rajiv | Method and System for Analyzing Performance of a Wind Farm |
US9335761B2 (en) * | 2008-09-30 | 2016-05-10 | Rockwell Automation Technologies, Inc. | Procedure classification for industrial automation |
GB0909695D0 (en) * | 2009-06-05 | 2009-07-22 | Maxymiser Ltd | On page console |
CN102026223A (zh) * | 2010-08-03 | 2011-04-20 | 武汉易思达科技有限公司 | 一种3g基站基带与射频单元间接口协议的测试方法 |
US8595219B1 (en) * | 2012-05-16 | 2013-11-26 | Trans Union, Llc | System and method for contextual and free format matching of addresses |
JP2019185314A (ja) * | 2018-04-06 | 2019-10-24 | 株式会社日立製作所 | 分析シーケンス制御システムおよび分析シーケンス制御方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1097782A (en) * | 1978-06-05 | 1981-03-17 | John J. Den Otter | Modular time division switching system |
US4688195A (en) * | 1983-01-28 | 1987-08-18 | Texas Instruments Incorporated | Natural-language interface generating system |
SE467229B (sv) * | 1983-08-19 | 1992-06-15 | Kurt Katzeff | Anordning foer bildande av en information och/eller instruktion avsedd att inmatas i en datamaskins programminne |
US4656603A (en) * | 1984-03-01 | 1987-04-07 | The Cadware Group, Ltd. | Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons |
US5371895A (en) * | 1985-10-08 | 1994-12-06 | The Foxboro Company | Local equipment controller for computerized process control applications utilizing language structure templates in a hierarchical organization and method of operating the same |
US4910691A (en) * | 1987-09-30 | 1990-03-20 | E.I. Du Pont De Nemours & Co. | Process control system with multiple module sequence options |
US4965742A (en) * | 1987-09-30 | 1990-10-23 | E. I. Du Pont De Nemours And Company | Process control system with on-line reconfigurable modules |
US4868770A (en) * | 1987-12-02 | 1989-09-19 | Analogy, Inc. | Simulation results enhancement method and system |
JPH01227552A (ja) * | 1988-03-07 | 1989-09-11 | Fujitsu Ltd | Lanアナライザ |
US4864497A (en) * | 1988-04-13 | 1989-09-05 | Digital Equipment Corporation | Method of integrating software application programs using an attributive data model database |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5051898A (en) * | 1988-06-13 | 1991-09-24 | Eda Systems, Inc. | Method for specifying and controlling the invocation of a computer program |
US5068812A (en) * | 1989-07-18 | 1991-11-26 | Vlsi Technology, Inc. | Event-controlled LCC stimulation |
US5212771A (en) * | 1990-04-27 | 1993-05-18 | Bachman Information Systems, Inc. | System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems |
US5323452A (en) * | 1990-12-18 | 1994-06-21 | Bell Communications Research, Inc. | Visual programming of telephone network call processing logic |
US5251255A (en) * | 1991-04-17 | 1993-10-05 | At&T Bell Laboratories | Processing interactions among telecommunications call features |
US5335268A (en) * | 1992-10-22 | 1994-08-02 | Mci Communications Corporation | Intelligent routing of special service telephone traffic |
-
1992
- 1992-11-10 US US07/974,165 patent/US6134304A/en not_active Expired - Lifetime
-
1993
- 1993-10-06 MX MX9306218A patent/MX9306218A/es not_active IP Right Cessation
- 1993-10-26 KR KR1019950701834A patent/KR100305373B1/ko not_active IP Right Cessation
- 1993-10-26 EP EP93924856A patent/EP0669071B1/en not_active Expired - Lifetime
- 1993-10-26 JP JP6511509A patent/JPH08505740A/ja active Pending
- 1993-10-26 WO PCT/SE1993/000882 patent/WO1994011996A1/en active IP Right Grant
- 1993-10-26 CA CA002146243A patent/CA2146243C/en not_active Expired - Lifetime
- 1993-10-26 AU AU54362/94A patent/AU698159B2/en not_active Ceased
- 1993-10-26 BR BR9307416-6A patent/BR9307416A/pt not_active IP Right Cessation
- 1993-10-26 DE DE69328784T patent/DE69328784T2/de not_active Expired - Lifetime
- 1993-11-10 CN CN93114351A patent/CN1091577A/zh active Pending
-
1995
- 1995-04-11 US US08/420,026 patent/US5553127A/en not_active Expired - Lifetime
- 1995-05-09 NO NO951809A patent/NO951809L/no not_active Application Discontinuation
- 1995-05-09 FI FI952252A patent/FI952252A0/fi unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424941B (zh) * | 2007-10-31 | 2011-05-25 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种控制实现方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JPH08505740A (ja) | 1996-06-18 |
EP0669071B1 (en) | 2000-05-31 |
MX9306218A (es) | 1994-05-31 |
KR100305373B1 (ko) | 2001-12-17 |
KR950704917A (ko) | 1995-11-20 |
FI952252A (fi) | 1995-05-09 |
AU5436294A (en) | 1994-06-08 |
FI952252A0 (fi) | 1995-05-09 |
DE69328784T2 (de) | 2000-11-16 |
EP0669071A1 (en) | 1995-08-30 |
NO951809L (no) | 1995-07-07 |
NO951809D0 (no) | 1995-05-09 |
BR9307416A (pt) | 1999-08-31 |
WO1994011996A1 (en) | 1994-05-26 |
CA2146243A1 (en) | 1994-05-26 |
DE69328784D1 (de) | 2000-07-06 |
CA2146243C (en) | 2002-02-26 |
AU698159B2 (en) | 1998-10-22 |
US6134304A (en) | 2000-10-17 |
US5553127A (en) | 1996-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1091577A (zh) | 通用分析系统 | |
CN1148687C (zh) | 用于网络处理器的全匹配搜索方法和设备 | |
CN1080500C (zh) | 电信系统 | |
CN1044175A (zh) | 单元管理系统 | |
CN1145901C (zh) | 一种基于信息挖掘的智能决策支持构造方法 | |
CN1272946C (zh) | 可伸缩的网络处理器及操作该网络处理器的方法和装置 | |
CN102271194B (zh) | 一种开发交互式语音应答业务的方法及系统 | |
CN1208536A (zh) | 提供电信业务的方法 | |
CN1211364A (zh) | 一种管理互配单元及生产该单元的方法 | |
CN1209249A (zh) | 访问通信网络上的目标实体的方法 | |
CN1214840A (zh) | 用于通信网络的服务生成设备 | |
CN1552032A (zh) | 数据库 | |
CN1208535A (zh) | 访问用于电信系统中的业务资源项的方法 | |
CN1317756A (zh) | 用户轮廓数据的管理 | |
CN1625740A (zh) | 元数据的索引结构、提供元数据索引的方法、以及使用元数据的索引的元数据搜索方法和装置 | |
US6970880B2 (en) | System and method for creating and maintaining data records to improve accuracy thereof | |
CN1841328A (zh) | 脚本语言的自动机方法 | |
CN1310173C (zh) | 表格式数据显示方法、插入方法、删除方法和更新方法 | |
CN1088375A (zh) | 电信网络中特征的快速引入 | |
CN1158680A (zh) | 通用服务协调机构 | |
CN1140367A (zh) | 电信服务干扰 | |
CN1098501C (zh) | 用于sql关系数据库的仿真器及方法 | |
CN1799048A (zh) | 通用数据库模式 | |
CA2190890C (en) | Systems and processes for specifying customized telecommunication services | |
CN1101020C (zh) | 业务独立积木式组件的实现 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |