一种关系对象递归合并求取方法及系统的制作方法

文档序号:8942917阅读:290来源:国知局
一种关系对象递归合并求取方法及系统的制作方法
【技术领域】
[0001] 本发明涉及一种关系对象递归合并求取方法及系统。
【背景技术】
[0002] 业务关系二叉树的定义:在电信系统中,一个套餐业务会包含多个子业务,不同的 子业务对不同的场景和条件进行优惠,比如一个套餐业务X会包含:拨打长途优惠子业务 XI、漫游拨打优惠子业务X2、本地拨打优惠子业务X3、本地拨打亲情号码优惠子业务X4,同 时业务套餐的子业务之间会存在一些关系,比如互斥、叠加,如上业务套餐中子业务Xl和 X2之间肯定是互斥的关系,而子业务X3和X4的关系是可叠加优惠的。为了描述这些子业 务之间的关系,我们引入了业务关系二叉树的概念。
[0003] 话单的定义:就是用户在拨打实际电话完成后产生的文件记录(文件记录包括比 如:用户拨打的地点、拨打对端号码、通话时长等信息),话单会按照用户的在拨打的地点 以及拨打的对方号码,有一个简单的分类,比如拨打长途、漫游拨打、本地拨打、本地拨打亲 情号等。
[0004] 对用户拨打的电话产生的话单进行计费,就是使用套餐业务关系二叉树进行遍历 访问计费的过程,默认访问顺序是前序遍历,对上述场景的计费和二叉树访问举例说明如 下:
[0005] 如果话单为拨打长途,假设遍历访问到XI,判断话单是否满足Xl的条件,即Xl子 树满足条件,执行优惠,二叉树的遍历访问结束。
[0006] 如果话单为漫游拨打,话单不满足Xl节点条件,则继续访问,按照访问的顺序要 访问到X2, X2满足话单条件,执行优惠,则停止二叉树的遍历。
[0007] 如果话单为本地拨打,Xl和X2都不满足,则需要继续访问,发现X3和X4的关系 是可叠加,则需要判断X3是否满足和X4是否满足条件,如果都满足,则比较执行优惠,取优 惠量最大的子业务,二叉树访问结束。
[0008] 如果话单为其他类型的话单,则整个二叉树的子业务节点都不满足条件,则整颗 树访问结束后,不会执行任何动作。
[0009] 对关系对象递归合并求取过程,即为对构造的二叉树进行修剪,一般的修剪规则 为:对叶子节点进行修剪,若叶子节点不满足某种修剪场景的条件,则被修剪掉,另外相邻 的一个左或右节点代替被修剪掉叶子节点的父节点的位置。

【发明内容】

[0010] 本发明所要解决的技术问题是提供一种节约存储空间、同时减少时间损耗的关系 对象递归合并求取方法及系统。
[0011] 本发明解决上述技术问题的技术方案如下:一种关系对象递归合并求取方法,具 体包括以下步骤:
[0012] 步骤1 :将关系对象的结构转换为字符串表达式进行描述;
[0013] 步骤2 :根据字符串表达式构造特殊二叉树模型;
[0014] 步骤3 :根据待修剪的关系对象的数量,按序将每个待修剪的关系对象转换为一 个字符串表达式,并根据构造的特殊二叉树模型将多个字符串表达式分别转换为特殊二叉 树;
[0015] 步骤4 :根据特殊二叉树的特性,对多个字符串表达式进行修剪,并将修剪后的字 符串表达式进行去重,得到多个相互不同的合并字符串;
[0016] 步骤5 :将所有合并字符串分别构造二叉树,并将构造的二叉树与相应的关系对 象进行匹配,得到合并后的关系对象。
[0017] 本发明的有益效果是:采用本发明的方法可得到精简后的关系二叉树,在后续算 费时,能减少二叉树的遍历以及匹配时间,提高计费效率;节约存储空间、同时减少时间损 耗。
[0018] 在上述技术方案的基础上,本发明还可以做如下改进。
[0019] 进一步,所述特殊二叉树中的每个节点用于存储本身的开始位置信息和结束位置 信息,并存储与每个节点对应的父节点的链接信息。进一步,所述特殊二叉树中的节点如果 为非叶子节点,存储该节点左括号、右括号和逗号的位置;如果是叶子节点,不存储该节点 左括号、右括号和逗号的位置。
[0020] 进一步,所述步骤4中修剪每个关系对象中的字符串表达式具体包括以下步骤: 遍历特殊二叉树节点,如果某叶子节点不满足业务要求,则将字符串表达式中其父节点以 及当前叶子节点的相关位置信息删掉,该叶子节点的相邻节点替代了其父节点的位置;满 足业务要求时,则不进行删除字符串表达式中其父节点以及当前叶子节点的相关位置信 息,不将该叶子节点的相邻节点替代了其父节点的位置。
[0021] 进一步,所述步骤5还包括,当字符串表达式为,具有若干个相同字符串表达式的 业务场景中保留的那个字符串表达式时,根据该字符串表达式构造二叉树,并将构造的二 叉树为每个具有若干个相同字符串表达式的业务场景复制一次,使每个构造的二叉树与一 个具有若干个相同字符串表达式的业务场景匹配。
[0022] 本发明解决上述技术问题的技术方案如下:一种关系对象递归合并求取系统,包 括描述模块、构造模块、复制模块、修剪模块和构造匹配模块;
[0023] 所述描述模块用于将关系对象的结构转换为字符串表达式进行描述;
[0024] 所述构造模块用于根据字符串表达式构造特殊二叉树模型;
[0025] 所述复制模块用于根据待修剪的关系对象的数量,按序将每个待修剪的关系对象 转换为一个字符串表达式,并根据构造的特殊二叉树模型将多个字符串表达式分别转换为 特殊二叉树;
[0026] 所述修剪模块用于根据特殊二叉树的特性,对多个字符串表达式进行修剪,并将 修剪后的字符串表达式进行去重,得到多个相互不同的合并字符串;
[0027] 所述构造匹配模块用于将所有合并字符串分别构造二叉树,并将构造的二叉树与 相应的关系对象进行匹配,得到合并后的关系对象。
[0028] 本发明的有益效果是:采用本发明的系统可得到精简后的关系二叉树,在后续算 费时,能减少二叉树的遍历以及匹配时间,提高计费效率;节约存储空间、同时减少时间损 耗。
[0029] 在上述技术方案的基础上,本发明还可以做如下改进。
[0030] 进一步,所述特殊二叉树中的每个节点用于存储本身的开始位置信息和结束位置 信息,并存储与每个节点对应的父节点的链接信息。
[0031] 进一步,所述特殊二叉树中的节点如果为非叶子节点,存储该节点左括号、右括号 和逗号的位置;如果是叶子节点,不存储该节点左括号、右括号和逗号的位置。
[0032] 进一步,所述修剪模块中修剪每个关系对象中的字符串表达式具体包括以下步 骤:遍历特殊二叉树节点,如果某叶子节点不满足业务要求,则将字符串表达式中其父节点 以及当前叶子节点的相关位置信息删掉,该叶子节点的相邻节点替代了其父节点的位置; 满足业务要求时,则不进行删除字符串表达式中其父节点以及当前叶子节点的相关位置信 息,不将该叶子节点的相邻节点替代了其父节点的位置。
[0033] 进一步,所述构造匹配模块还包括,当字符串表达式为,具有若干个相同字符串表 达式的业务场景中保留的那个字符串表达式时,根据该字符串表达式构造的二叉树,并将 构造的二叉树为每个具有若干个相同字符串表达式的业务场景复制一次,使每个构造的二 叉树与一个具有若干个相同字符串表达式的业务场景匹配。
[0034] 本发明采用的合并方法包括择优合并(1)、叠加合并(2),互斥合并(3)、根据某种 特性合并(4);
[0035] 所述择优合并(1),用于根据父节点中择优合并属性特征将左右子叉树元素进行 合并,合并规则遵循某种特征,获取元素内部结构属性,择优对元素的选取;
[0036] 所述叠加合并(2),用于根据父节点中叠加合并属性特征将左右子叉树元素进行 合并,合并规则遵循某种特征将元素中结构进行累加或串联;
[0037] 所述互斥合并(3),用于根据父节点中互斥合并属性特征将左右子叉树元素进行 合并,合并规则遵循某种特征二选一操作,不涉及元素内部结构调整;
[0038] 所述根据某种特性合并(4),用于根据父节点中所描述的合并属性特征将左右子 叉树元素进行合并,其合并规则遵循该原则,将元素中结构部分或全部合并;
[0039] 在上述技术方案的基础上,本发明介绍一下模板类对象的处理原则。
[0040] 所述关系对象中,构成对象的元素本身是单一的对象,并且由模板类对象组成。
[0041] 构成模板类的的表现形式是以一个或多个零件构成,不同的零件之间可以根据业 务场景自由组合;如一个零件对外接口有η个参数,则该零件就可以内嵌其他η个零件。
【附图说明】
[0042] 图1为本发明所述的一种关系对象递归合并求取方法流程图;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1