[发明专利]一种关系对象递归合并求取方法及系统有效
| 申请号: | 201510484989.2 | 申请日: | 2015-08-07 |
| 公开(公告)号: | CN105159758B | 公开(公告)日: | 2018-11-13 |
| 发明(设计)人: | 姜树宝 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
| 地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 关系 对象 递归 合并 求取 方法 系统 | ||
本发明涉及一种关系对象递归合并求取方法及系统,其方法包括:步骤1:将关系对象的结构转换为字符串表达式进行描述;步骤2:根据字符串表达式构造特殊二叉树模型;步骤3:根据待修剪的关系对象的数量,按序为每个待修剪的关系对象复制一个字符串表达式,并根据构造的特殊二叉树模型将多个字符串表达式分别转换为特殊二叉树;步骤4:根据特殊二叉树的特性,对多个字符串表达式进行修剪,并将修剪后的字符串表达式进行去重,得到多个相互不同的合并字符串;步骤5:将所有合并字符串分别构造二叉树,并将构造的二叉树与相应的关系对象进行匹配,得到合并后的关系对象。节约存储空间、同时减少时间损耗。
技术领域
本发明涉及一种关系对象递归合并求取方法及系统。
背景技术
业务关系二叉树的定义:在电信系统中,一个套餐业务会包含多个子业务,不同的子业务对不同的场景和条件进行优惠,比如一个套餐业务X会包含:拨打长途优惠子业务X1、漫游拨打优惠子业务X2、本地拨打优惠子业务X3、本地拨打亲情号码优惠子业务X4,同时业务套餐的子业务之间会存在一些关系,比如互斥、叠加,如上业务套餐中子业务X1和X2之间肯定是互斥的关系,而子业务X3和X4的关系是可叠加优惠的。为了描述这些子业务之间的关系,我们引入了业务关系二叉树的概念。
话单的定义:就是用户在拨打实际电话完成后产生的文件记录(文件记录包括比如:用户拨打的地点、拨打对端号码、通话时长等信息),话单会按照用户的在拨打的地点以及拨打的对方号码,有一个简单的分类,比如拨打长途、漫游拨打、本地拨打、本地拨打亲情号等。
对用户拨打的电话产生的话单进行计费,就是使用套餐业务关系二叉树进行遍历访问计费的过程,默认访问顺序是前序遍历,对上述场景的计费和二叉树访问举例说明如下:
如果话单为拨打长途,假设遍历访问到X1,判断话单是否满足X1的条件,即X1子树满足条件,执行优惠,二叉树的遍历访问结束。
如果话单为漫游拨打,话单不满足X1节点条件,则继续访问,按照访问的顺序要访问到X2,X2满足话单条件,执行优惠,则停止二叉树的遍历。
如果话单为本地拨打,X1和X2都不满足,则需要继续访问,发现X3和X4的关系是可叠加,则需要判断X3是否满足和X4是否满足条件,如果都满足,则比较执行优惠,取优惠量最大的子业务,二叉树访问结束。
如果话单为其他类型的话单,则整个二叉树的子业务节点都不满足条件,则整颗树访问结束后,不会执行任何动作。
对关系对象递归合并求取过程,即为对构造的二叉树进行修剪,一般的修剪规则为:对叶子节点进行修剪,若叶子节点不满足某种修剪场景的条件,则被修剪掉,另外相邻的一个左或右节点代替被修剪掉叶子节点的父节点的位置。
发明内容
本发明所要解决的技术问题是提供一种节约存储空间、同时减少时间损耗的关系对象递归合并求取方法及系统。
本发明解决上述技术问题的技术方案如下:一种关系对象递归合并求取方法,具体包括以下步骤:
步骤1:将关系对象的结构转换为字符串表达式进行描述;
步骤2:根据字符串表达式构造特殊二叉树模型;
步骤3:根据待修剪的关系对象的数量,按序将每个待修剪的关系对象转换为一个字符串表达式,并根据构造的特殊二叉树模型将多个字符串表达式分别转换为特殊二叉树;
步骤4:根据特殊二叉树的特性,对多个字符串表达式进行修剪,并将修剪后的字符串表达式进行去重,得到多个相互不同的合并字符串;
步骤5:将所有合并字符串分别构造二叉树,并将构造的二叉树与相应的关系对象进行匹配,得到合并后的关系对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510484989.2/2.html,转载请声明来源钻瓜专利网。





