发明内容
本发明要解决的技术问题在于,针对现有技术的上述通信***中资源管理和调度效率较低的缺陷,提供一种综合电信平台中的流程执行方法及***。
本发明解决其技术问题所采用的技术方案是:构造一种综合电信平台中的流程执行方法,其特征在于,包括以下步骤:
(a)流程执行模块根据设定的流程参数载入流程动态连接库;
(b)流程执行模块根据设定的资源通道数调用流程创建函数创建相应的流程数据结构副本;
(c)通过事件信息将所述流程数据结构副本激活为流程,所述激活的流程调用相应的流程运行函数或***功能函数处理来自与其绑定的资源通道的事件包。
在本发明所述的综合电信平台中的流程执行方法中,所述步骤(a)包括以下步骤:
(a1)将通过流程图输入工具输入的流程定义转换为源代码;
(a2)将所述源代码编译为流程动态连接库。
在本发明所述的综合电信平台中的流程执行方法中,步骤(a)中的设定包括流程名称、流程路径、流程通道数、流程绑定、流程载入/启动/停止/卸载控制、状态监视中的一个或多个。
在本发明所述的综合电信平台中的流程执行方法中,步骤(c)中的流程运行函数包括获取空闲资源通道/空闲流程通道、流程绑定/去绑定、显示状态信息、定时器中的一个或多个。
在本发明所述的综合电信平台中的流程执行方法中,步骤(b)中的所述流程数据结构副本包括流程数据结构和流程代码。
在本发明所述的综合电信平台中的流程执行方法中,所述流程数据结构包括所述流程数据结构包括流程状态、流程标号、指向绑定事件包的指针、指向***函数数组的指针。
在本发明所述的综合电信平台中的流程执行方法中,所述流程代码包括用于分配一个流程数据结构空间及初始化变量的流程创建函数、用于根据输入的流程数据结构句柄释放句柄指向的流程数据结构空间的流程关闭函数、用于根据输入的流程数据结构句柄以状态驱动方式运行的流程运行函数。
本发明还提供一种综合电信平台中的流程执行***,包括流程图输入工具和流程执行模块,其中流程图输入工具与流程执行模块连接,流程执行模块还与多个数字信号处理模块连接,所述流程图输入工具将输入的用户设定转换为流程执行模块可执行的代码后传送到所述流程执行模块执行,流程执行模块载入动态连接库后生成流程数据结构副本。
在本发明所述的综合电信平台中的流程执行***中,所述流程数据结构副本包括流程数据结构和流程代码。
在本发明所述的综合电信平台中的流程执行***中,所述流程数据结构包括所述流程数据结构包括流程状态、流程标号、指向绑定事件包的指针、指向***函数数组的指针;所述流程代码包括用于分配一个流程数据结构空间及初始化变量的流程创建函数、用于根据输入的流程数据结构句柄释放句柄指向的流程数据结构空间的流程关闭函数、用于根据输入的流程数据结构句柄以状态驱动方式运行的流程运行函数。
本发明的综合电信平台中的流程执行方法及***,通过流程执行模块直接调度执行流程,使得***具有较高的运行效率。
具体实施方式
如图2所示,是实现本发明综合电信平台中流程执行方法的***的结构图。在本实施例中,该***包括一个或多个数字信号处理(DSP)模块21,该数字信号处理模块21是完成实时信号(如语音信号)处理的最小硬件单元,多个数字信号处理模块21间是完全相互独立的。数字信号处理模块21通过CT-BUS(总线)相互连接,以实现各数字信号处理模块21间的通讯,并且每一数字信号处理模块21分别通讯连接到公用电话交换网(PSTN)。
每一数字信号处理模块21还分别通过以太网连接(例如双绞线)与网络交换器12连接,而网络交换器22还通过以太网连接与一个或多个主机23连接。每一主机23中包括一个或多个功能模块(图2中未示出),以实现流数据的录放、连接的建立、数据帧监视等功能(各功能模块将在图3详细描述)。网络交换器22可以为通用的交换器,实现以太网协议帧的传递。
如图3所示,为图2中数字信号处理模块21的结构示意图。本实施例中,数字信号处理模块11同时完成语音信号处理和第二层信令处理的功能,其包括E1/T1/J1PSTN接口211、CT812芯片212、DM642芯片213及SDRAM 214,其中E1/T1/J1PSTN接口211、CT812芯片212、DS芯片213及SDRAM 214分别连接到本地总线215。数字信号处理模块11通过E1/T1/J1PSTN接口211连接到公用电话交换网,并通过CT812接口212连接其他数字信号处理模块。DSP芯片212采用高性能的TMS320DM642,提供4800MIPS以上的处理能力,可单片实时处理4个E1的全部信令和语音。在本实施例中,每一数字信号处理模块21都具有一个唯一的IP地址。
如图4所示,是图2中的***的整体模块框图。其中,主机23包括多个功能模块,例如媒体流模块231、信令模块232、流程执行模块233、用户模块234、状态监视模块235以及配置管理模块236,以上各功能模块是基于一定硬件上并实现特定功能。各功能模块相互独立,其可位于同一台主机23,也可以分散地分布于相互连接的不同主机上。由于每一功能模块位于主机,因此各功能模块具有与主机一致的IP地址。若多个功能模块位于同一主机,则该多个功能模块具有相同的IP地址,并具有不同的配置管理端。每一功能模块都包含一个网络客户端子模块和网络服务端子模块(图中未示出)来负责与其他模块进行通讯。
上述功能模块中除配置管理模块236外,其他功能模块都有一个标准的程序框架,该框架与具体功能模块的功能无关。这样,就可以确保综合电信服务***具有最好的通用性,即可以满足任意的实际业务需求但又无须修改程序,仅须更改外部定义文件和更改流程定义即可。该标准框架包括:模块间通讯方式、标准数据结构、以及标准程序流程。
在模块间通讯方式的一个实施例中,通讯协议采用统一的TCP/IP连接方式。每一个ITP模块都是通过TCP客户端与关联下级模块的TCP服务端子模块建立连接,通过提供TCP服务端子模块让关联上级模块的TCP客户端与其建立连接。
在标准数据结构的一个实施例中,标准数据结构包括用于管理与其他关联模块的连接状态的连接表。所有模块的连接表都可分为三类:a.与配置管理连接(一个);b.与下级模块连接(一个或多个):c.与上级模块连接(一个或多个)。模块刚启动时连接表清零,表示没有任何有效连接。运行中间每当与另一关联模块建立连接,即将连接表相应项置为有效值,连接拆除即将相应项置为0。
在标准程序流程的一个实施例中,标准程序流程包括:(1)在模块启动后读入配置文件(如有需要)并处理,初始化数据;(2)设定TCP服务端子模块参数,监听其他模块客户端接入;(3)检查有无合法客户端接入当前模块服务端子模块,有则将连接放入当前模块的连接表;(4)检查有无收到来自配置管理模块的配置管理包,有转到步骤(5),如连接已断将连接表中对应项清零并转到步骤(6);(5)处理配置管理包,然后转到步骤(4);(6)检查并处理接收到的下级模块通讯包;(7)处理发送给下级模块的通讯包;(8)检查并处理接收到的上级模块通讯包;然后转到步骤(3)。
媒体流模块231用于基于数字信号处理模块21的媒体流数据录放。信令模块132用于处理7号信令第三层以上的信令协议和数字1号信令Q.931信令协议。流程执行模块133用于实现***工作流程的控制,完成CTI业务需求。用户模块234用于处理与CTI功能无关的应用处理,如数据库处理等。该用户模块234由用户编写,在本实施例中并非必须的模块。上述的媒体流模块231、信令模块232、流程执行模块233、用户模块234在启动运行后都处于等待状态,通过网络服务端子模块的其中一个端口监听来自配置管理模块136的控制信息,并根据接收的控制信息执行特定操作。
配置管理模块236是综合电信服务***的核心,各功能模块根据该配置管理模块236的控制指令操作。在本实施例中,每一数字信号处理模块21具有一个唯一的MAC地址,并由配置管理模块236将各数字信号处理模块21的MAC地址绑定到配置设定的IP地址。此外,配置管理模块236还可获取接入***的各功能模块的IP地址以及配置管理端口。配置管理模块136根据上述的IP地址信息和配置管理端口建立连接,完成对各模块的配置,并将被关联模块地址信息传送给关联模块,然后即可发送控制命令,以使各模块启动进入正常工作流程。在正常工作流程中,配置管理模块还承担监测各模块运行状况、停止/启动、增加/删除模块等功能。
在本实施例中,媒体流模块231可与各数字信号处理模块21相关联;信令模块132可与各数字信号处理模块21相关联;而流程执行模块与数字信号处理模块21及媒体流模块231、信令模块232相关联。相关联的模块间通过以太网协议帧传递信息,实现综合电信服务***的各项业务。
配置管理模块236可以控制各个功能模块进入不同的工作状态。功能模块的工作状态有:连接断开,连接建立,正常运行等。配置管理模块136除控制和显示各个模块的工作状态,还须定时监测运行的功能模块的工作状态以及时发现故障模块。
状态监视模块235用于监视其他模块间通讯包内容,具体可以通过以下方式实现:状态监视模块235向配置管理模块236发送监视请求,再由配置管理模块向相应功能模块发监视请求,相应模块将通讯包转发一份给状态监视模块235。
如图5所示,为图4中数字信号处理模块21的框图。数字信号处理模块21在功能上包括语音处理子模块216以及信令处理子模块217。其中语音处理子模块216用于处理所有语音信号;信令处理子模块217包含四个通道的信令处理单元和一个收发帧格式控制与监测单元。每个信令处理单元可单独设定工作于SS1,DSS1,SS7三种工作方式。工作于SS1方式时,每个单元处理一个E1的30路DL信令;工作于DSS1方式时,每个单元处理一个Q.921链路;工作于SS7时,每个单元处理一个MTP2链路。帧格式控制与监测单元完成4个E1的收发信号帧格式的控制与监测,告警处理等。
语音处理子模块216以及信令处理子模块217经由主控调度程序218封装为以太网协议帧后传送到各功能模块做进一步处理,或者主控调度程序218将来自功能模块或配置管理模块236的帧处理后分别传送给语音处理子模块216或者信令处理子模块217处理。
如图6所示,是图4中流程执行模块233的连接示意图。流程执行模块233用于将下级模块(例如DSP模块21)提供的所有功能资源和本模块内装载的流程资源统一管理起来,进行有效的分配管理和调度。
如图所示,流程执行模块233分别与流程图输入工具611以及多个DSP模块21(图中仅示出一个)连接。流程图输入工具233用于输入流程参数,用户可通过流程图输入工具233在图形化界面的流程图中定义用户变量,用户变量包括普通变量、资源句柄型、流程句柄型三类,具体包括:流程设置(名称,路径,通道数,绑定),流程载入/启动/停止/卸载控制,状态监视(关联模块状态,资源通道状态,流程通道状态)。流程图输入工具611还根据输入流程参数的流程图保存为一个完整的流程保存文件,然后将流程保存文件转换为标准代码(例如C代码等),并编译为流程执行模块233可执行的代码。
流程执行模块233执行上述流程图输入工具611生成的可执行代码,根据设定载入动态连接库,并根据设定的通道数调用流程创建函数创建相应数量的流程数据结构副本。所有流程的运行都是由特定事件信息激活驱动的,可设置绑定任一流程到某一资源通道,则该资源通道有事件包到达时,调用相应的流程运行函数或***功能函数来处理。而且流程还可以绑定到某些特殊事件上,如流程执行模块233可提供定时事件来激活某些流程。
在本实施例中,流程是指符合流程标准框架的程序代码,程序代码以动态连接库形式存在。
流程标准框架包含两部分内容:即流程数据结构和流程代码。其中流程数据结构包括结构头和附加数据结构。结构头用于在流程执行模块233和流程程序间传递信息。附加数据结构是流程程序定义的运行中所需保存的变量数据。流程数据结构头包括流程状态,流程标号,指向绑定事件包的指针,指向***函数数组的指针。流程状态用于控制流程程序运行。流程标号用于标识相同流程多个副本,由用户任意设定,可用于申请资源的索引。指向绑定事件包的指针将事件包数据传递给流程程序。指向***函数数组的指针使得流程程序可以调用流程执行模块提供的***函数。
流程代码包括三个函数,即流程创建,流程关闭,流程运行。其中流程创建函数完成分配一个流程数据结构空间,初始化有关变量等,函数返回指向分配流程数据结构的句柄。流程关闭函数输入参数为流程数据结构句柄,函数完成释放输入句柄指向的流程数据结构空间。流程运行函数输入参数为流程数据结构句柄,该函数以状态驱动的方式运行,即每次调用执行当前状态到下一状态之间的代码。
本实施例中,流程执行模块233提供了多个***功能函数,供流程程序调用,让流程程序可以获得所有资源的使用分配与调度的功能。当然,这些***功能函数也可以被流程执行模块233本身所使用。这些***功能函数包括:向其他模块发送通讯包的函数,搜索空闲资源通道的函数、释放占用资源的函数、获取空闲流程的函数、释放占用流程的函数、绑定流程通道与资源通道的函数、解除绑定流程通道与资源通道的函数、显示流程通道信息的函数、设置定时器的函数、提前终止定时器的函数等。
如图7所示,为本发明综合电信平台中的模块配置管理方法的流程图。
首先,流程图输入工具611接收输入的用户设定参数,并将图形化界面的流程图保存为一个完整的流程保存文件,然后将上述流程保存文件编译为可执行代码(步骤S71)。
流程执行模块233执行编译后的代码,并根据设定的流程参数载入流程动态连接库(步骤S72)。
流程执行模块233根据设定的资源通道数调用流程创建函数创建相应的流程数据结构副本(步骤S73)。
通过事件信息将所述流程数据结构副本激活为流程,所述激活的流程调用相应的流程运行函数处理来自与其绑定的资源通道的事件包(步骤S74)。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。