一种在智能网中支持变长数据结构的实现方法

文档序号:7969399阅读:253来源:国知局
专利名称:一种在智能网中支持变长数据结构的实现方法
技术领域
本发明涉及电信通讯行业智能网领域,特别涉及智能网(Intemgent Network,以下简称IN)中支持变长数据结构的实现方法。
背景技术
IN技术出现在上世纪90年代初,随着传统的电话业务已经渐渐不能 满足人们的需要,人们对通信能力的要求不断提高,希望传统的电信网能 为用户提供更多、更方便、更具特色的服务的需求开始出现。此时,寻求 一种统一的并且能继续发挥网络上现有交换设备巨大投资效益的解决方 案,成为IN概念产生的重要驱动因素。
IN是在现有网络上的一个叠加网络,交换机只完成最基本的呼叫接 续的功能,所有新业务的控制功能由另一套虚拟网络来完成,这样在修改 或增加新业务时就无须更改各地的交换机,而只需在业务控制点(Service Control Point,以下简称SCP)中增加或修改新业务逻辑,IN的核心思想
就是将网络的交换功能和控制功能分离。
IN可建立在各种交换网络之上,如公共电话网,综合业务数字网, 公共移动通信网等。目前我国已经建设了公共电话交换网(Public Switched Telephone Network,简称PSTN)智能网,全球移动通信(Global System For Mobile Communication,简称GSM)智能网,码分多址(Code Division Multiple Access,简称CDMA)无线智能网络,个人通信系统 (Personal Communications System,简称PCS)智能网。IN的主要组成部 分有SCP15、业务交换点17 (Service Switching Point,以下简称SSP)和 业务管理点12 (Service Management Point,以下简称SMP)、业务生成环 境11 (Service Creation Environment,以下简称SCE)、业务数据点16(Service Data Point,以下简称SDP)和智能外设18 (Intelligent Peripheral, 以下简称IP)等,其中SCP15实现业务控制功能14 (Service Control Function,简称SCF)和业务数据功能13 (Service Data Function,以下简 称SDF)。 IN的结构图请参见附图1。
目前,随着市场和技术的共同推动,电信网络正在逐步向下一代网络 演进。下一代网络是业务驱动型网络,从业务层面来看,下一代网络通过 向外开放更多更强的网络能力接口来扩大电信网络的开放性,开放的网络 能力包括呼叫控制能力、用户交互能力等等。这样,降低了第三方开发电 信业务的技术门槛,可以吸引更多第三方应用提供商参与电信应用开发, 从而增加用户体验并能促进电信市场的进一步繁荣。
在下一代网络业务平台技术实现方面,Parlay已成为业内事实标准, Parlay业务平台架构参见附图2,其中,业务能力网关25 (Parlay Service Gateway)对外提供网络能力,同电信网络27连接,Parlay框架24 (Parlay Framework)提供业务能力管理功能,应用22 (Client Application)为面向 最终用户的应用,企业运营管理工具21 (Enterprise operator admin tool)、 框架供应商管理工具23(Framework Supplier admin tool)以及业务供应商 管理工具26(Service supplier admin tool)提供对相关网络实体的管理功能。 根据Parlay所规定的业务特征,多方呼叫,电话会议和视频会议将会成为 下一代业务平台必须提供的基本应用,也就是说一个呼叫可以有很多方参 与,这与传统IN—个呼叫业务逻辑只有主叫和被叫两方相比,下一代网 络会议应用中一个业务逻辑则可以包含多条嫩leg),这对SCE以及SCP 在业务逻辑控制以及呼叫数据管理方面提出了更高的要求。
传统IN已经在全世界范围内得到广泛应用,在现有IN架构基础上提 供下一代网络业务,既能保护运营商投资又能充分利用现有IN快速开发 业务、稳定高效等特性,同时也是向下一代网络业务平台过渡的最佳方案。 但是传统IN中目前只支持呼叫实例数据(Call Instance Data,以下简称 CID)等固定长度的数据结构,无论是SCE还是SCP均不能满足会议业 务中因呼叫腿个数不确定等因素所引起的对变长数据结构支持的需求。
鉴于这样的情况,釆用一种新的技术和方法在传统IN基础上实现对
变长数据的管理是非常迫切的,也是在传统IN架构基础上向下一代网络 业务平台演进中必须首先解决的一个问题。

发明内容
本发明的目的在于解决在传统IN架构基础上提供下一代业务的关键 难题之一,即变长数据支持问题。根据下一代网络业务需求,提供一种在 IN中支持变长数据结构的实现方法。
鉴于上述目的,本发明提供一种在IN中支持变长数据结构的实现方 法,IN至少包括SCE, SCP, SSP, SMP和IP,
其中,将"指针"数据变量(以下简称PtrCID)用于上述IN的系统中, 上述PtrCID至少包括两部分, 一部分占用呼叫数据区中固定的内存,另 一部分定义变长数据结构,为变长数据区,占用变长的内存来存储变长 数据,根据业务需求的不同而分配相应的大小,故本发明可以支持变长数 据结构;
上述SCE支持上述PtrCID并能够对其进行处理,其处理的操作至少 包括如下操作的一种声明PtrCID,初始化PtrCID,增加操作,重置操 作,查找操作,删除操作,合并操作,释放操作;
上述SCP支持上述PtrCID并能够对其进行处理,其处理的操作至少 包括如下操作的一种执行声明PtrCID,初始化PtrCID,增加操作,重 置操作,査找操作,删除操作,合并操作,释放操作,存储PtrCID;
系统对外接口支持PtrCID,其中上述SCE的对外接口独立于业务的 构件(Service Independent Building block,以下简称SIB)和数据库操作相 关SIB ,以及上述SCP的与SDF的接口和对外接口都支持PtrCID。
上述变长数据至少包括可以存放的记录的个数,每个记录的长度和记 录,其中上述记录所占据的内存空间为"记录个数X每个记录的长度"个 字节,上述记录个数大于或等于PtrCID的实际记录个数。
上述SCE对PtrCID的处理分别为如下一种或任何组合
(1)声明PtrCID,声明一个变长数据变量;
(2) 初始化PtrCID,初始化和PtrCID关联的记录的长度和记录的个 数,其中记录长度和记录个数均为整型CID变量;
(3) 增加操作,增加一条记录;
(4) 重置操作,重置一条记录的值;
(5) 查找操作,在整个PtrCID的数据区中,根据关键字匹配査找记录;
(6) 删除操作,根据记录索引值删除某条记录值;
(7) 合并操作,将两个PtrCID合并成一个PtrCID;
(8) 释放操作,释放PtrCID所占用的内存。
上述SCP对PtrCID的处理分别为如下一种或任何组合
(1) 声明PtrCID,声明一个PtrCID,此时呼叫数据区指针为NULL;
(2) 初始化PtrCID,获取和PtrCID关联的记录长度和记录个数;
(3) 增加操作,增加一条记录,如果还没有分配内存,则呼叫数据区 指针的值为空,每次分配预定数目的记录个数所占的内存,如果已经分配 了足够的内存,则直接增加记录;
(4) 查找操作,在整个PtrCID的数据区中,根据关键字匹配査找记录, 其中输入参数包括匹配关键字、偏移量以及关键字的长度,输出参数为记 录索引值,上述偏移量表示在每个记录中从哪个字节开始比较;
(5) 重置操作,根据记录索引将一条记录的值用新的内容来替换;
(6) 删除操作,根据索引值删除某条记录值,并依次将后边的记录上
移;
(7) 合并操作,将两个PtrCID合并成一个PtrCID;
(8) 释放操作,释放PtrCID所占用的内存,在一个呼叫会话中停止使 用该变量。
SCE对外接口在外部系统需要传送包含变长数据的数据包给SCP时, 或者在SCP要传送包含变长数据的数据包给外部系统时,传送的数据包的 变长数据部分至少包括记录个数、每个记录长度、以及大小为记录长度与
记录个数乘积个字节的数据部分;当SCP或者外部系统接收到上述数据包 时,首先解析出记录长度和记录个数,然后根据上述两个值分配该PtrCID 所对应的内存空间,并将数据拷贝到上述内存空间。
如果可以存放的记录的个数大于PtrCID实际记录的个数,则不用分 配内存;如果可以存放的记录的个数等于PtrCID实际记录的个数,则重 新分配内存,其大小为比原来的内存多预定个数记录的大小,然后将原内 存块拷贝到新的内存区域,释放原来内存,并对指针值、记录值等相关信 息做相应修改。
所有的PtrCID组成一个链表,在呼叫释放时能释放所有的PtrCID, 以避免内存泄漏。
本发明在传统IN架构基础上,通过在图形化SCE中引入"指针"这一 变长数据变量类型和一组相关操作如声明、初始化、增加、重置、査找、 合并、删除以及释放等,解决了传统IN只能支持定长数据结构问题,使 SCE以及SCP具有变长数据结构处操作和存储能力,是基于传统IN架构 提供下一代业务解决方案的关键技术之一。
另外本发明也增强了业务处理能力、提高了系统处理效率以及增加了 业务灵活性。釆用该发明业务与外部设备通讯接口由原来固定数据结构变 为支持变长数据结构,在与外部其他系统通讯以及数据库操作过程中,使 业务具有变长数据接口处理能力,原来业务每次从数据库或其他外部设备 只能获取固定个数的记录值,釆用该发明可以实现一次从数据库或其他外 部设备获取不定个数的记录值,减少数据库操作次数,从而增强系统处理 能力;釆用该发明后的业务具有变长数据的操作、存储以及对外变长接口 处理能力,从而增加业务灵活性。
釆用本发明,运营商能够在基于目前非常成熟的传统IN架构上提供 下一代业务解决方案,例如会议等复杂业务,保护现有投资的同时,也能 继续享有传统IN快速业务生成、稳定高效等优势。
下面结合附图,对本发明的具体实施方式
作进一步的详细说明。对于 所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述
和其他目的、特征和优点将显而易见。


附图1是现有的IN络结构图。 附图2是现有的Parlay网络结构图。
附图3是本发明PtrCID在SCP内存中的存储方式以及数据结构。 附图4是本发明实施后网元间接口以及部分网络结构图,其中和本发 明无关的网元没有显示。
具体实施例方式
下面结合附图和具体实施例对本发明所述的一种在IN中支持变长数 据结构的实现方法作进一步的详细说明。
本发明方法主要应用于SCE和SCP。
SCE是依据ITU-TIN相关协议研发并已经在全球范围内广泛使用的 业务生成环境,本发明在此基础上增加了 PtrCID以及相关的一组操作, 所提供的操作包括(1)声明PtrCID,声明一个变长数据变量;(2)初始 化PtrCID ,初始化和PtrCID关联记录长度和记录个数,这里记录长度和 记录个数均为整型CID变量;(3)增加操作,增加一条记录;(4)査找操 作,在整个指针变量数据区中,根据关键字匹配查找记录;(5)重置操作, 重置一条记录的值;(6)删除操作,根据索引值删除某条记录值;(7)合 并操作,将两个PtrCID合并为一个PtrCID; (8)释放操作,释放PtrCID 所占用的内存。业务开发人员可以根据需要构造业务逻辑。
SCP中,特别是业务逻辑处理进程(Service Logic Program,以下简称 SLP)具有支持变长数据的能力,执行用SCE开发的业务逻辑,SCE中针 对变长数据定义的操作均需要在SCP中实现。PtrCID和普通CID不同之 处在于在SCP呼叫数据内存中,普通CID的长度是固定的,而PtrCID 则包括两部分, 一部分占用呼叫数据区中固定的内存,另一部分则占用一 个变长的内存块,根据业务需求分配相应大小的内存。
SCE所定义的操作在SCP中的实现过程描述如下(1)声明PtrCID, PtrCID和其它普通CID —样,占用呼叫CID数据区,而此时数据区指针 PtrData为NULL; (2)初始化PtrCID,获取和PtrCID关联的记录长度CID 和记录个数CID的值;(3)增加操作,用该操作可以增加一条记录,如果 还没有分配内存即PtrData为空,则每次分配一定数目的记录个数所占的 内存,例如20个记录长度,如果已经分配了足够的内存则直接在后边增 加记录即可;(4)查找操作,在整个PtrCID数据区中,根据关键字匹配 查找记录,输入参数包括匹配关键字、偏移量即在每个记录中从哪个字节 开始比较以及关键字的长度等三个,输出为记录索引值;(5)重置操作, 该操作将根据记录索引值将一条记录的值用新的内容来替换;(6)删除操
作,根据索引值删除某条记录,并依次将后边的记录上移;(7)合并操作,
将两个PtrCID合并为一个PtrCID,便于信息的存储和查找;(8)释放操 作,释放PtrCID所占用的内存,在一个呼叫会话中停止使用该变量。SCP 将根据SCE业务中规定的业务逻辑执行相应的动作。
在内存中一个会议呼叫数据区结构见附图3。CID数据区31为一个呼 叫的呼叫实例数据,其中m和n表示PtrCID变量32, 33,在一个呼叫中 可以使用多个PtrCID变量,m和n在呼叫实例数据中占用长度为数据结 构ptrCIDDescJT长度的内存,另外还有一个变长数据区,在变长数据区 中recordNum35的值为data内存区域38实际可以存放的记录个数, recordLen36为每个记录的长度,data内存区域38为存放变长记录的内存 区域,大小为recordNum35的值与recordLen36的值的乘积个字节,其为 无符号字符型内存区域,指针next37指向PtrCID变量n的recordNum的 值。这里recordNum的值大于或等于PtrCID实际记录个数,这样可以减 少系统内存分配以及释放次数。例如增加操作,如果recordNum大于 PtrCID实际记录个数,则不用分配内存,如果recordNum等于PtrCID实 际记录个数,则需要重新分配内存,分配的内存大小是比原来的内存大小 多20个记录对应的内存大小,然后将原内存块拷贝到新的内存区域,释 放原来内存,并对指针值、记录值等相关信息做相应修改。所有的PtrCID 组成一个链表,以便呼叫释放时能释放所有的ptrCID,以避免内存泄漏。
其中ptrCIDDescJT和ptrCIDStruct数据结构举例为 typedef struct { UINT8 recordNumType; UINT8 recordLenType; union
UINT32 val;
UINT16 cid; } recordNum', union
UINT32 val; UINT16 cid; } recordLen;
ptrCIDStruct *ptrData; }ptrCIDDesc—T; typedef struct node{
UINT16 recordNum;
UINT16 recordLen;
struct node *next; )ptrCIDStmct;
采用该发明,使业务具有变长数据处理能力,并且在对外接口中也支 持变长数据接口 。当外部系统需要传送包含变长数据的数据包给SCP时, 在传送的数据包中,变长数据部分应包括记录个数、每个记录长度、以 及后续大小为记录长度与记录个数乘积个字节的数据部分。在开发业务的
过程中,需要把PtrCID所关联的记录个数CID、记录长度CID (初始化 时关联的)以及PtrCID依次填写在对外接口 SIB中。业务运行过程中, 当SCP执行这个对外接口 SIB时,SCP首先解析出记录长度以及记录个 数,然后SCP将根据这两个值分配该PtrCID所对应的PtrData34内存空间, 并把数据拷贝到Pti"Data34所指的内存空间中,即无符号字符型data38内 存区域。从业务向外传送变长数据也釆用同样的机制。然后在随后的操作 中,业务可以对数据进行进一步处理如浏览数据、修改数据等,例如传送 过来的数据为参加会议的多个与会方的呼叫相关资料,SCP接收到这些数 据并依照上述方法保存在内存中,然后业务继续处理这些数据,获取会议 召开时间、多个与会方电话号码等信息,然后预约并组织发起多方会议。
釆用本发明方法后,各主要网元间接口以及相关网络结构图请参见图 4。 SCE49支持变长数据结构且提供了一组变长数据的操作方法,SCP47 支持变长数据的操作与存储。SCP47的SCF45与SDF46的接口以及对外 接口均支持变长数据,外部系统41与接口机42之间,以及接口机42与 SCP47之间为支持变长数据的接口, SMP43与SCP47之间,SMP43与 SCE49之间以及SCP47与SDP48之间为定长数据接口 。
釆用该技术的下一代IN系统中,SCE为釆用该技术改造后的新的业 务生成环境,用SCE快速开发业务逻辑,包括会议电话,视频会议等业 务。SMP、 SCP合一,运行在服务器上。业务生成后用业务管理接入点 (Service Management Access Point,简称SMAP)通过SMP加载在SCP上。 当业务触发后SLP处理包括变长数据相关操作的业务逻辑。该系统提供会 议电话,视频会议,以及Web会议电话等应用,可以向企业、集团等用 户群体提供功能强大的电话会议系统,电话会议参与人数可以从两个到数 百个不等。方便了企业、集团用户之间的沟通,降低集团用户的沟通成本, 提高其工作效率,能为电信运营商以及集团用户创造良好的经济效益。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范 围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换的, 均应涵盖在本发明的权利要求的保护范围当中。
权利要求
1.一种在智能网中支持变长数据结构的实现方法,上述智能网至少包括业务生成环境,业务控制点,业务交换点,业务管理点和智能外设,其特征是将“指针”数据变量用于上述智能网的系统中,上述“指针”数据变量至少包括两部分,一部分占用呼叫数据区中固定的内存,另一部分定义变长数据结构,为变长数据区,占用变长的内存来存储变长数据,根据业务需求的不同而分配相应的内存大小;上述业务生成环境支持上述“指针”数据变量并能够对其进行处理,上述处理的操作至少包括如下操作的一种声明“指针”数据变量,初始化“指针”数据变量,增加操作,重置操作,查找操作,删除操作,合并操作,释放操作;上述业务控制点支持上述“指针”数据变量并能够对其进行处理,上述处理的操作至少包括如下操作的一种执行声明“指针”数据变量,初始化“指针”数据变量,增加操作,重置操作,查找操作,删除操作,合并操作,释放操作,存储“指针”数据变量;系统对外接口支持上述“指针”数据变量,其中上述业务生成环境的对外接口独立于业务的构件以及数据库操作相关独立于业务的构件,以及上述业务控制点的与业务数据功能的接口和对外接口都支持上述“指针”数据变量。
2. 根据权利要求1所述的实现方法,其特征是在上述变长数据至少包括可以存放的记录的个数,每个记录的长度和记录,其中上述记录所占据的内存空间为"记录个数x每个记录的长度"个字节,上述记录个数大于或等于"指针"数据变量的实际记录个数。
3. 根据权利要求2所述的实现方法,其特征是上述业务生成环境对"指针"数据变量的处理分别为如下一种或任何组合(l)声明"指针"数据变量,声明一个变长数据变量;(2) 初始化"指针"数据变量,初始化变长数据区中记录的长度和记 录的个数,其中记录长度和记录个数均为整型呼叫实例数据变量;(3) 增加操作,增加一条记录;(4) 重置操作,重置一条记录的值;(5) 查找操作,在整个"指针"数据变量的数据区中,根据关键字匹 配查找记录;(6) 删除操作,根据记录索引值删除某条记录值;(7) 合并操作,将两个"指针"数据变量合并成一个"指针"数据变(8) 释放操作,释放"指针"数据变量所占用的内存。
4.根据权利要求1所述的实现方法,其特征是上述业务控制点对"指 针"数据变量的处理分别为如下一种或任何组合(1) 声明"指针"数据变量,声明一个"指针"数据变量,此时呼叫 数据区的指针为NULL;(2) 初始化"指针"数据变量,获取和"指针"数据变量关联的记录 长度和记录个数;(3) 增加操作,增加一条记录,如果还没有分配内存,则呼叫数据区 的指针的值为空,每次分配预定数目的记录个数所占的内存,如果已经分 配了足够的内存,则直接增加记录;(4) 查找操作,在整个"指针"变量数据区中,根据关键字匹配查找 记录,其中输入参数包括匹配关键字、偏移量以及关键字的长度,输出参 数为记录索引值,上述偏移量表示在每个记录中从哪个字节开始比较;(5) 重置操作,根据记录索引值将一条记录的值用新的内容来替换;(6) 删除操作,根据记录索引值删除某条记录值,并依次将后边的记 录上移;(7) 合并操作,将两个"指针"数据变量合并成一个"指针"数据变(8)释放操作,释放"指针"数据变量所占用的内存,在一个呼叫会 话中停止使用该变量。
5. 根据权利要求1所述的实现方法,其特征是在外部系统需要传送包含变长数据的数据包给业务控制点时,或者在 业务控制点要传送包含变长数据的数据包给外部系统时,传送的数据包的 变长数据至少包括记录个数、每个记录长度、以及大小为记录长度与记录个数乘积个字节的数据;当业务控制点或者外部系统接收到上述数据包时,首先解析出记录长 度和记录个数,然后根据上述两个值分配该"指针"数据变量所对应的内 存空间,并将数据拷贝到上述内存空间。
6. 根据权利要求2所述的实现方法,其特征是如果可以存放的记录的个数大于"指针"数据变量实际记录的个数,则不用分配内存;如果可以存放的记录的个数等于"指针"数据变量实际记录的个数, 则重新分配内存,其大小为比原来的内存多预定个数记录的大小,然后将 原内存块拷贝到新的内存区域,释放原来内存,并对指针值、记录值等相 关信息做相应修改。
7. 根据权利要求2所述的实现方法,其特征是所有的"指针"数据变 量组成一个链表,在呼叫释放时能释放所有的"指针"数据变量,以避免内存泄漏。
全文摘要
本发明提供一种在智能网中支持变长数据结构的实现方法,其中,将PtrCID用于上述智能网的系统中,上述PtrCID至少包括两部分,一部分占用呼叫数据区中固定的内存,另一部分占用变长的内存来存储变长数据,根据业务需求的不同而分配相应的大小;上述SCE支持上述PtrCID并能够对其进行处理,其处理的操作至少包括声明PtrCID,初始化PtrCID,增加操作,重置操作,查找操作,删除操作,合并操作,释放操作;上述SCP支持PtrCID并能够对其进行处理;系统对外接口也支持PtrCID。本发明解决了传统智能网只能支持定长数据结构问题,使SCE以及SCP具有变长数据结构处操作和存储能力。
文档编号H04Q3/00GK101175228SQ20061013821
公开日2008年5月7日 申请日期2006年11月3日 优先权日2006年11月3日
发明者滕广松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1