具体实施方式
本发明实施例提供一种节省内存空间的方法,包括:调用用于确定待转存物理数据库的用户的加载策略,得到待转存物理数据库的用户标识;根据所述用户标识,从内存数据库获取所述待转存物理数据库的用户的数据,将所获取的用户数据存入物理数据库;删除所述内存数据库中的所述用户数据。使用本发明提供的技术方案,可以节省内存数据库的空间。
参阅图1,本发明实施例一提供一种节省内存空间的方法,该方法具体包括:
步骤101、在预定的时间到达时,调用用于确定待转存物理数据库的用户的加载策略,得到待转存物理数据库的用户标识。
其中,用于确定待转存物理数据库的用户的加载策略可以是:获取非激活用户的用户标识,或者,获取每月通话次数少于预定数值的用户的标识,还可以是其它确定待转存物理数据库的用户的策略,不影响本发明的实现。
本发明实施例中可以定期调用加载策略,得到待转存物理数据库的用户标识。
步骤102、根据所述用户标识,从内存数据库获取待转存物理数据库的用户的数据。
步骤103、将用户数据转换成以结构查询语言(Structured Query Language,SQL)字段存储的形式。
步骤104、将以SQL字段形式存储的用户数据存储到物理数据库。
步骤105、从内存数据库中删除该用户数据。
其中,该步骤可以在步骤102从内存数据库获取到用户数据后就执行,不影响本发明的实现。
步骤106、记录表示该用户数据存储在物理数据库还是内存数据库的用户存储位置信息,此时该用户存储位置信息表示用户数据存储在物理数据库。
参阅图2,本发明实施例二提供了一种节省内存空间的方法,该方法中在将用户数据转存物理数据库之前,生成用于对用户数据进行定期事务处理的控制信息,该方法具体包括:
步骤201、在预定的时间到达时,调用加载策略,得到待转存物理数据库的用户标识。
步骤202、根据所述用户标识,从内存数据库获取待转存物理数据库的用户的数据。
步骤203、根据用户数据,调用计费策略,得到用于对用户数据进行定期事务处理的控制信息。
步骤204、将用户数据转换成以SQL字段存储的形式。
步骤205、将以SQL字段形式存储的用户数据和控制信息存储到物理数据库。
其中,物理数据库(physical DB)中用于存储用户信息的是物理表(userinfo_store),该物理表的结构如表1所示。其中,用户信息包括:用户标识、以SQL字段形式存储的用户数据、控制信息。其中,该SQL字段形式存储的用户数据仅用于保存,不可修改,一般仅在用户数据被从物理数据库加载到内存数据库时使用。如果加载到内存数据库的用户数据被修改,那么该用户数据再次存储到物理数据库时,用于存储修改后的用户数据的SQL字段将重新产生。
字段名 |
字段描述 |
Key |
用户标识 |
Common |
控制信息 |
SQL |
***用户数据Insert into subscribervalues(); |
表1、物理表结构
步骤206、从内存数据库中删除该用户数据。
其中,该步骤可以在步骤202从内存数据库获取到用户数据后就执行,不影响本发明的实现。
步骤207、记录表示该用户信息存储在物理数据库还是内存数据库的用户存储位置信息,此时该用户存储位置信息表示用户数据存储在物理数据库。
参阅图3,本发明实施例三提供了一种节省内存空间的方法,该方法具体包括:
步骤301-步骤307与步骤201-步骤207相同;
步骤308、接收到请求用户数据的消息,该请求用户数据的消息中携带用户标识。
步骤309、根据用户标识,获取用户存储位置信息。
步骤310、根据所获取的用户存储位置信息,确定用户信息存储在物理数据库中。
步骤311、根据用户标识,从物理数据库提取以SQL字段形式存储的用户数据和控制信息,将以SQL字段形式存储的用户数据转换成内存数据库支持的存储格式。
步骤312、将上述步骤中格式转后的用户数据加载到内存数据库。
步骤313、以控制信息为入口参数,调用计费策略,对已加载到内存数据库中的用户数据执行该用户数据存储物理数据库期间未执行的定期事务,例如,可以对该用户进行免费赠送、帐期切换、状态变更等操作。
步骤314、根据用户数据,对该用户进行鉴权。
步骤315、在鉴权通过后,对内存数据库的用户数据进行计费处理。
其中,步骤308可以是在用户激活后进行的,可以有如下两种激活方式:一种是:用户从客户关系管理***(Customer Relation Management,CRM)侧发起激活操作,即用户从营业厅、网站等触发CRM***,使CRM***激活该用户,此时CRM***中记录该用户状态的标识为:已激活标识;另一种方式是:用户作为主、被叫进行呼叫,OCS***对该用户进行首次激活,这种方式默认用户首次进行呼叫时被激活。
其中,本发明实施例二和实施例三中第一个步骤所得到的待转存物理数据库的用户可以是:非激活用户,或者通话次数少于预定数值的用户。
当然,本发明实施例也可以将用户的部分数据保存在内存数据库中,对存储在内存数据库中的该部分用户数据进行定期事务,将另一部分用户数据存储在物理数据库中,在将该部分用户数据提取出物理数据库时,补充执行用户数据存储在物理数据库期间未执行的定期事务,或者,存储在物理数据库中的部分用户数据是不需要进行定期事务的,将该部分用户数据提取出物理数据库,加载到内存数据库时,对该部分用户数据不进行修改。
本发明实施例中的初始用户数据是由客户关系管理***(CustomerRelation Management,CRM)生成的,并将用户数据存储在内存数据库中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,例如,只读存储器,磁盘或光盘等。
参阅图4,本发明实施例四提供一种数据管理网元,该网元包括:执行加载策略单元401,获取用户数据单元402,用户数据转储单元403和用户数据删除单元404,
执行加载策略单元401,调用用于确定待转存物理数据库的用户的加载策略,得到待转存物理数据库的用户标识;
获取用户数据单元402,根据用户标识,从内存数据库获取待转存物理数据库的用户的数据;
用户数据转储单元403,将所获取的用户数据存入物理数据库;
用户数据删除单元404,删除内存数据库中的所述用户数据。
其中,为了使本发明实施例四的技术方案更加清楚明白,图4中示出了数据管理网元结构和内存数据库、物理数据库的连接关系,但内存数据库和物理数据库不位于数据管理网元上,是与数据管理网元独立的物理实体。
在获取用户数据单元402与用户数据转储单元403之间,该网元还包括:
第一转换单元407,将所获取的用户数据转换成以SQL字段存储的形式;用户数据转储单元403将以SQL字段形式存储的用户数据存储到物理数据库。
第一执行计费策略单元405,根据所获取的用户数据,调用计费策略,得到用于对用户数据进行定期事务处理的控制信息;控制信息存储单元406,将所述控制信息存入物理数据库。
该网元还包括:
用户位置记录单元408,在用户数据存储到物理数据库后,记录表示所述用户数据存储在物理数据库的用户存储位置信息;
消息接收单元409,接收请求用户数据的消息,请求用户数据的消息中携带用户标识;
数据访问单元410,根据用户标识,获取用户存储位置信息,以获知该用户数据存储在物理数据库中,再根据用户标识,从物理数据库获取包含用户数据的用户信息和控制信息;所述用户数据可以是以SQL字段形式存储的用户数据;
第二转换单元411,将从所述物理数据库获取的用户数据转换成内存数据库支持的数据格式;
加载单元412,将格式转换后的用户数据加载到内存数据库。
第二执行计费策略单元413,以控制信息为入口参数,调用计费策略,补充执行用户数据存储在物理数据库期间未执行的定期事务;
鉴权单元414,根据用户数据对该用户进行鉴权;
用户信息处理单元415,在用户鉴权经过后,对内存数据库中的用户数据进行计费等操作。
参阅图5,本发明实施例五提供一种网络***,该网络***包括:数据管理网元、内存数据库和物理数据库。
数据管理网元,调用用于确定待转存物理数据库的用户的加载策略,得到待转存物理数据库的用户标识;根据该用户标识,从内存数据库获取待转存物理数据库的用户的数据;将所获取的用户数据存入物理数据库,并删除内存数据库中的该用户数据;接收携带用户标识的请求用户数据的消息,根据用户标识,从物理数据库获取用户数据,并转换成内存数据库支持的数据格式,加载到内存数据库。
该数据管理网元还用于在从内存数据库获取待转存物理数据库的用户的数据之后,根据所获取的用户数据,调用计费策略,得到用于对用户数据进行定期事务处理的控制信息;并在接收到请求用户数据的消息,将所述用户数据加载到内存数据库之后,以该控制信息为入口参数,调用计费策略,补充执行用户数据存储在物理数据库期间未执行的定期事务。
从以上分析可以看出,本发明实施例具有如下有益效果:
本发明实施例通过调用加载策略,得到待转存物理数据库的用户,这些待转存物理数据库的用户可以是非激活用户或者统计通话次数少于预定数值的用户,这些用户的数据不经常使用,所以将这些用户的数据从内存数据库中取出转存到物理数据库,并删除内存数据库中的该用户数据,以节省内存数据库的空间。
以上对本发明所提供的一种节省内存空间的方法、数据管理网元及网络***进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。