CN105095224A - 一种在移动通信网络中进行olap分析的方法、装置和系统 - Google Patents
一种在移动通信网络中进行olap分析的方法、装置和系统 Download PDFInfo
- Publication number
- CN105095224A CN105095224A CN201410171886.6A CN201410171886A CN105095224A CN 105095224 A CN105095224 A CN 105095224A CN 201410171886 A CN201410171886 A CN 201410171886A CN 105095224 A CN105095224 A CN 105095224A
- Authority
- CN
- China
- Prior art keywords
- user
- time
- file
- olap
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种在移动通信网络的一个OLAP节点中进行OLAP分析的方法,其中,所述移动通信网络包括OLTP节点和多个OLAP节点,该方法包括以下步骤:A从接收到的用户的位置更新信息中获取用户识别信息;B当根据所述用户识别信息确定所述用户属于该OLAP节点的服务范围时,将所述位置更新信息存储至近期位置记录表中;其中,该方法还包括以下步骤:-当到达所述时间范围的截止时间时,将一个新的位置记录表,作为所述近期位置记录表,并重复所述步骤A和B。本发明可在OLAP节点中存储用户长期的历史位置数据,并通过预计算来方便在OLAP中进行基于用户位置的查询。
Description
技术领域
本发明涉及通信网络技术,尤其涉及一种在移动通信网络中进行OLAP分析的方法、装置和系统。
背景技术
移动核心网中,HLR/HSS(归属位置寄存器/归属用户服务器,HomeLocationRegister/HomeSubscriberServer)可用于追踪用户的位置变化,然而其存储系统通常仅能够存储用户当前的或最近的位置信息,例如,用户最近的1至5个位置信息。HLR/HSS的内存、CPU等资源主要用于呼叫处理,且为了保证呼叫处理的高效性,HLR/HSS通常被优化为用于呼叫处理的OTLP(联机事务处理,On-LineTransactionProcessing)数据库,但HLR/HSS并不支持对大量历史数据的存储以及对该等大量历史数据的联机分析处理。
发明内容
本发明的目的是提供一种在移动通信网络中进行OLAP分析的方法、装置和系统。
根据本发明的一个方面,提供一种在移动通信网络的OLTP节点中辅助进行OLAP分析的方法,其中,所述移动通信网络包括OLTP节点和OLAP节点,该方法包括以下步骤:
a将基于来自用户的位置更新事件获得的位置更新信息发送给所述OLAP节点。
根据本发明的另一个方面,还提供了一种在移动通信网络的一个OLAP节点中进行OLAP分析的方法,其中,所述移动通信网络包括OLTP节点和多个OLAP节点,该方法包括以下步骤:
A从接收到的用户的位置更新信息中获取用户识别信息;
B当根据所述用户识别信息确定所述用户属于该OLAP节点的服务范围时,将所述位置更新信息存储至近期位置记录表中,其中,所述当前时间点位于所述近期位置记录表所对应的时间范围内;
其中,该方法还包括以下步骤:
-当到达所述时间范围的截止时间时,将一个新的位置记录表,作为所述近期位置记录表,并重复所述步骤A和B。
根据本发明的另一方面,还提供了一种在移动通信网络的OLTP节点中辅助进行OLAP分析的辅助装置,其中,所述移动通信网络包括OLTP节点和OLAP节点,该辅助装置包括以下装置:
第一发送装置,用于将基于来自用户的位置更新事件获得的位置更新信息发送给所述OLAP节点。
根据本发明的另一方面,还提供了一种在移动通信网络的一个OLAP节点中进行OLAP分析的分析装置,其中,所述移动通信网络包括OLTP节点和多个OLAP节点,该分析装置包括以下装置:
第一获取装置,用于从接收到的用户的位置更新信息中获取用户识别信息;
存储装置,用于当根据所述用户识别信息确定所述用户属于该OLAP节点的服务范围时,将所述位置更新信息存储至近期位置记录表中,其中,所述当前时间点位于所述近期位置记录表所对应的时间范围内;
其中,该分析装置还包括以下装置:
触发装置,用于当到达所述时间范围的截止时间时,将一个新的位置记录表,作为所述近期位置记录表,并触发获取装置和存储装置重复执行操作。
根据本发明的另一方面,还提供了一种移动通信网络,包括本发明所述的辅助装置,以及多个本发明所述的分析装置。
与现有技术相比,本发明具有以下优点:1)OLTP节点可实时收集用户的位置更新信息,并定期将所收集到的位置更新信息发送到OLAP节点;从而大大减少了位置信息丢失的可能性,并能够避免因提取转换加载工具对OLTP数据库的访问造成的突发;2)OLAP节点可通过将存储其接收到的、属于该OLAP节点服务范围的用户的位置更新信息存储至相应的近期位置记录表中,来存储用户大量的位置更新信息;且通过对近期位置记录表所对应的时间层级的设置可限定近期位置记录表的时间范围,从而在时间维度上对位置更新信息进行划分,有助于对近期位置记录表中的数据进行进一步的处理;3)可首先通过生成第一位置文件来进一步从位置维度上对位置更新信息进行划分,再根据时间层级和/或位置区域层级的映射关系,来进行大量的预计算,以生成不同时间层级和/或位置区域层级的第二位置文件,以便于进一步的预计算以及在OLAP节点中的查询;4)可根据第一位置文件或第二位置文件,生成时间用户统计表和位置用户统计表,以进一步地从用户角度对OLAP节点中所存储的用户的位置更新信息进行整理,以更加便于在OLAP节点中进行查询;5)OLAP节点可通过分析来自网络的查询请求来获取相应的时间用户统计表和/或位置用户统计表,以获得网络所查询的用户数量,由于OLAP中预先生成并存储了不同时间层级和位置区域层级的第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表,故在本方案中在进行查询时仅需进行少量的计算或其他处理,同时不需要花费长时间来加载数据,从而大大缩短了查询所需的时间;且在进行查询时可根据实际的时间条件和位置条件,忽略时间用户统计表和位置用户统计表中用户识别码以外的其他信息,从而更进一步地加快查询速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图;
图2为本发明的另一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图;
图3为本发明的另一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图;
图4为本发明的一个实施例的在移动通信网络的OLAP节点中进行OLAP分析的方法的流程示意图;
图5为本发明的一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图;
图6为本发明的另一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图;
图7为本发明的另一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图;
图8为本发明的一个实施例的在移动通信网络的OLAP节点中进行OLAP分析的分析装置的结构示意图;
图9为本发明的一个示例的第一位置文件的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1为本发明的一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图。
其中,所述移动通信网络包括OLTP节点和多个OLAP(联机分析处理,On-LineAnalyticalProcessing)。其中,本实施例的方法主要通过OLTP节点和OLAP节点来实现。其中,所述OLTP节点包括任何可用于HLR/HSS的节点,且所述OLTP节点用于呼叫处理。其中,所述OLAP节点包括任何可用于HLR/HSS的节点,且所述OLAP节点支持数据仓库功能。
需要说明的是,所述OLTP节点和OLAP节点仅为举例,其他现有的或今后可能出现的OLTP节点和OLAP节点如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
为了更清楚地说明本实施例的方案,以下首先对OLAP节点上的数据仓库的架构进行说明。
本实施例中,OLAP节点上的数据仓库采用星型模式架构。优选地,该星型模式架构包括但不限于事实表、时间维度表和位置维度表。
其中,所述时间维度表用于定义多个时间层级,每个时间层级之间具有一定的映射关系。两个时间层级之间的映射关系可表示该两个时间层级之间的包含关系。
例如,时间维度表中所定义的时间层级从上至下依次为:年、季、月、周、日、小时。其中,各个时间层级之间均具有一定的映射关系,如1年包括4季、1季进一步包含3个月等。
其中,所述位置维度表用于定义多个位置区域层级,每个位置区域层级之间具有一定的映射关系。两个位置区域层级之间的映射关系可表示该两个位置区域层级之间的包含关系。
例如,位置维度表中所定义的位置区域层级从上至下依次为:国家、省、市、区/县。其中,各个位置区域层级之间均具有一定的映射关系,如国家包括多个省/直辖市/自治区。
优选地,位置维度表的每个位置区域层级包括属于该位置区域层级的多个位置区域标识。更优选地,在位置维度表的最底的位置区域层级中,一个位置区域标识用于标识一个小区(cell)。
根据本实施例的方法包括步骤S101、步骤S102、步骤S103和步骤S104。
在步骤S101中,OLTP节点将基于来自用户的位置更新事件获得的位置更新信息发送给OLAP节点。
其中,所述位置更新事件用于指示用户所在的位置区域发生变化,且所述位置更新事件可直接包含或可用于获得用户的位置更新信息。
其中,所述位置更新信息包括任何用于指示用户的位置变化的信息。优选地,所述位置更新信息包括但不限于:
1)用户识别信息。
优选地,所述用户识别信息用于标识用户所使用的移动设备;更优选地,所述用户识别信息包括用户的IMSI码。
2)位置区域标识。
所述位置区域标识用于指示用户当前位于的位置区域。其中,所述位置区域表示在一个位置区域层级上的具体位置。例如,来自用户的位置更新事件指示用户在当前时间点移动至小区B,则用户的位置更新信息中所述位置区域标识用于标识用户所移动至的小区B。
3)时间信息。
所述时间信息用于指示用户位于相应的位置区域时的时间。例如,来自用户的位置更新事件指示用户在一个时间点移动至小区B,则所述时间信息用于指示该时间点。
具体地,OLTP节点将其在一段时间内基于来自用户的位置更新事件所获得的位置更新信息发送给OLAP节点。
其中,所述一段时间是可配置的。例如,配置每5分钟为一段时间。
其中,OLTP节点可采用多种方式将其在一段时间内基于来自用户的位置更新事件所获得的位置更新信息发送至OLAP节点。例如,OLTP节点可基于轮叫(Round-Robin)或加权循环(WeightedRoundRobin)等算法,在移动通信网络所包括的所有OLAP节点间进行分发,来将位置更新信息发送给至少一个OLAP节点。
优选地,OLTP节点将其在一段时间内基于来自用户的位置更新事件所获得的所有位置更新信息,作为一个数据块进行压缩,并将压缩后的位置更新信息发送至OLAP节点。
例如,OLTP节点将其在8:00到8:05之间基于来自用户的位置更新事件所获得的所有位置更新信息,作为一个数据块进行压缩,并将压缩后的位置更新信息发送至OLAP节点。
作为一种优选方案,步骤S101的方法可通过在OLTP节点上运行HSDC(highspeeddatacapture,高速数据捕获)进程来实现,其中,一个OLTP节点上可运行多个HSDC进程。
需要说明的是,为了使得步骤S101的执行不会影响到OLTP节点进行呼叫处理的性能,可根据需要对OLTP节点的CPU、内存、磁盘I/O以及网络带宽等进行一定地优化。作为一个例子,假设运营商在6个城市中有5000万移动用户,OLTP节点在一个小时内平均能够接收到来自每个用户的5个位置更新事件,且假设对于每个位置更新事件,OLTP节点需要向OLAP节点发送的位置更新信息约为25个字节,则如果不考虑对位置更新信息的特殊处理(如压缩),则OLTP节点与OLAP节点之间的带宽要求为约14Mb/s(由50M*5*25bytes*8/3600s=14Mb/s可得出)。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何将基于来自用户的位置更新事件获得的位置更新信息发送给OLAP节点的实现方式,均应包含在本发明的范围内。
在步骤S102中,OLAP节点从接收到的用户的位置更新信息中获取用户识别信息。
优选地,当OALP节点接收到的是OLTP节点发送的、压缩后的位置更新信息时,OLAP节点在步骤S102之前还执行对其接收到的数据进行解压缩的操作,以获取未压缩的、用户的位置更新信息。
在步骤S103中,当OLAP节点根据所述用户识别信息确定该位置更新信息对应的用户属于该OLAP节点的服务范围时,OLAP节点将所述位置更新信息存储至近期位置记录表中,其中,当前时间点位于所述近期位置记录表所对应的时间范围内,该当前时间点为OLAP节点的时钟当前指示的时间点。
需要说明的是,对于本实施例所述移动通信网络中的多个OLAP节点,每个OLAP节点具有一定的服务范围,且不同的OLAP节点的服务范围不同。优选地,每个OLAP节点中均存储了所述多个OLAP节点中每个OLAP节点的服务范围。
其中,所述近期位置记录表用于记录在一个时间范围内用户的位置变化情况,该近期位置记录表可作为OLAP采用的星型模式中的事实表。优选地,所述近期位置记录表所对应的时间范围是在预先配置的时间层级上的一个具体的时间范围。例如,预先配置的时间层级为“小时”,则每日可被均匀地划分为24个时间范围;若当前时间点为8点30分10秒,则当前的近期位置记录表所对应的时间范围为8:00-9:00。
优选地,所述近期位置记录表包含多个位置区域标识、位于每个位置区域的用户的用户识别信息和用户位于该位置区域时的时间信息,其中,所述用户位于该位置区域时的时间信息可用于指示用户移动至该位置区域的时间点。如下表1所示,为一个示例的近期位置记录表。
表1
其中,表1所示的近期位置记录表中,位置区域标识LAE以及用户识别信息IMSI为主键;其中,位置区域标识AA10、AA11、AA12用于标识不同的小区。该近期位置记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0)。
需要说明的是,每执行一次步骤S101,可执行多次步骤S102和步骤S103。例如,OLTP节点通过步骤S101向OLAP节点发送5个用户的位置更新信息,则对于每个位置更新信息,OLAP节点分别执行步骤S102和步骤S103来将属于该OLAP节点服务范围的用户的位置更新信息存储至相应的近期位置记录表中。
在步骤S104中,当到达所述时间范围的截止时间时,OLAP节点将一个新的位置记录表,作为所述近期位置记录表,以重复所述步骤S102和步骤S103。
需要说明的是,当到达所述时间范围的截止时间时,当前的近期位置记录表将禁止继续存储数据,且优选地被保存至磁盘。
具体地,当到达所述时间范围的截止时间时,OLAP节点将一个新的近期位置记录表,作为所述近期位置记录表,以重复所述步骤S102和步骤S103的实现方式包括但不限于:
1)当到达所述时间范围的截止时间时,OLAP节点生成新的近期位置记录表,并将该新的近期位置记录表作为所述近期位置记录表,以重复所述步骤S102和步骤S103。
例如,当前近期记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0),当到达时间点2012-09-15-11:0:0时,OLAP节点生成新的近期位置记录表,并将该新的近期位置记录表作为所述近期位置记录表,以重复步骤S102和步骤S103。
2)在达到所述时间范围的截止时间之前,OLAP节点生成新的近期位置记录表,当到达所述时间范围的截止时间时,将该新的近期位置记录表作为所述近期位置记录表,以重复所述步骤S102和步骤S103。
例如,当前近期记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0),在时间点2012-09-15-10:59:0,OLAP节点生成新的近期位置记录表;当到达时间点2012-09-15-11:0:0时,OLAP节点将该新的近期位置记录表作为所述近期位置记录表,以重复所述步骤S102和步骤S103。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当到达所述时间范围的截止时间时,将一个新的位置记录表,作为所述近期位置记录表,并重复所述步骤S102和步骤S103的实现方式,均应包含在本发明的范围内。
需要说明的是,为简单起见,图1中将步骤S104置于步骤S103之后,但本领域技术人员应能理解,在OLAP节点中,步骤S104的执行与步骤S102和步骤S103的执行并无先后顺序,只要到达当前近期位置记录表所对应的时间范围的截止时间,便会触发步骤S104的执行;同样地,S104与后续实施例中OLAP节点所执行的其他步骤也无先后顺序。
作为一种优选方案,在步骤S102之后,OLAP节点还执行以下步骤:当根据所述用户识别信息确定位置更新信息对应的所述用户属于另一个OLAP节点的服务范围时,OLAP节点将所述位置更新信息发送至所述另一个OLAP节点。
现有技术中,HLR/HSS并不支持数据仓库功能。而为了在移动核心网中采用数据仓库来解决大规模的数据处理和查询,若采用这种方案来将OLTP中的数据移至OLAP中:OLAP节点中的数据库通过提取转换加载工具,定期地从OLTP节点的数据库中获取实时数据。这将导致以下后果:由于HLR/HSS仅能够存储用户当前的或最近的位置信息,故HLR/HSS极有可能丢弃OLAP尚未获得的位置信息,从而将容易造成位置信息的丢失;退一步来说,即便HLR/HSS能够存储用户历史的或长期的位置信息,但由于提取转换加载工具在将OLTP数据库中的数据定期地输入至OLAP数据库时,需要访问OLTP数据库中的大量数据,这将很容易引起在HLR/HSS的CPU、磁盘I/O、网络带宽资源上产生的短时间的突发,从而严重影响呼叫处理的性能;并且,上述提取转换加载工具通常需要较长的时间来将数据加载到OLAP数据库中,这将严重影响到OLAP分析及OLAP查询的处理性能。
而根据本实施例的方案,OLTP节点可实时收集用户的位置更新信息,并定期将所收集到的位置更新信息发送到OLAP节点;从而大大减少了位置信息丢失的可能性,并能够避免因提取转换加载工具对OLTP数据库的访问造成的突发。OLAP节点可通过将存储其接收到的、属于该OLAP节点服务范围的用户的位置更新信息存储至相应的近期位置记录表中,来存储用户大量的位置更新信息;且通过对近期位置记录表所对应的时间层级的设置可限定近期位置记录表的时间范围,从而在时间维度上对位置更新信息进行划分,有助于对近期位置记录表中的数据进行进一步的处理。
图2为本发明的另一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图。本实施例的方法主要通过OLTP节点和OLAP节点来实现;其中,对参照图1所示实施例中所述的OLTP节点和OLAP节点所作的任何说明,均以引用的方式包含于本实施例中。根据本实施例的方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105和步骤S106。其中,步骤S101、步骤S102、步骤S103和步骤S104已在参照图1所示实施例中予以详述,在此不再赘述。
在步骤S105中,当达到所述时间范围的截止时间时,OLAP节点根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件。
具体地,在当达到当前近期位置记录表所对应的时间范围的截止时间后,对于该近期位置记录表中所记录的每个位置区域,OLAP节点获得该位置区域所对应的第一位置文件。其中,OLAP节点可在到达时间范围的截止时间时立即执行获得第一位置文件的步骤,也可在该截至时间后经过一定的时间,再执行获得第一位置文件的步骤。
例如,基于表1所示的近期位置记录表,OLAP节点分别生成位置区域AA10、AA11、AA12所对应的第一位置文件。
其中,所述第一位置文件用于记录在当前近期位置记录表所对应的时间范围内,移动至该第一位置文件所对应的位置区域的用户。优选地,所述第一位置文件包括但不限于以下至少一项:
1)该第一位置文件所对应的位置区域的相关信息,如位置区域层级、位置区域标识等。优选地,第一位置文件所对应的位置区域层级为位置维度表中所定义的最低的位置区域层级。
2)该第一位置文件所对应的时间的相关信息,如时间层级、时间范围等。优选地,一位置文件所对应的时间层级为时间维度表中所定义的最低的时间层级。
3)该第一位置文件中所记录的用户总数,所述用户总数有利于OLAP节点进行用户数量相关的计算或查询。
4)位于该位置区域的每个用户的用户信息,其中,所述用户信息包括任何与用户相关的信息,优选地,所述用户用户信息包括用户的用户识别信息。
5)每个用户在该位置区域时的时间信息,其可用于指示用户移动至该位置区域的时间点。
作为一种优选方案,为了减小第一位置文件的大小,第一位置文件采用如下文件结构:第一位置文件的主体部分仅包括每个用户在第一位置文件所对应的位置区域时的时间信息;第一位置文件的头部包括但不限于:第一位置文件所对应的位置区域的相关信息和时间的相关信息、第一位置文件所记录的用户总数、以及每个用户的用户识别码等;优选地,对于第一位置文件中的每个用户,都有一个指针可以从该第一位置文件中的头部指向其主体部分。
例如,图9为本发明的一个示例的第一位置文件的结构示意图。其中,IMSI1、IMSI2和IMSI3分别为用户1、用户2和用户3的用户识别信息。其中,该第一位置文件的头部包括:用户总数、第一位置文件所对应的位置区域的相关信息、第一位置文件所对应的时间的相关信息、每个用户的用户识别码;且其中,该第一位置文件的主体部分仅包括每个用户的时间信息;并且,对于每个用户,都有一个指针可以从其用户识别码指向其时间信息。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当达到所述时间范围的截止时间时,根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件的实现方式,均应包含在本发明的范围内。
在步骤S5中,OLAP节点基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件。
其中,所述多个第二位置文件之间的时间层级或位置区域层级不同。且其中,一个第一位置文件可存在与其相关的、多个在不同时间层级/位置区域层级上的第二位置文件。例如,一个时间层级为“日”的第一位置文件存可在与其相关的、时间层级为“周”、“季”、“年”的第二位置文件。又例如,一个位置区域层级为“市”的第一位置文件可存在与其相关的、位置区域层级为“省”和“国家”的第二位置文件。
优选地,所述第二位置文件包括但不限于以下至少一项:
1)该第二位置文件所对应的位置区域层级。
2)该第二位置文件所对应的时间层级。
3)该第二位置文件中所记录的用户总数,所述用户总数有利于OLAP节点进行用户数量相关的计算或查询。
4)用户在第二位置文件所对应的位置区域时的时间信息,或,用户在第二位置文件所对应的时间范围内的所在的位置区域。
优选地,所述第二位置文件与所述第一位置文件可采用相同或相似的文件结构,在此不再赘述。
具体地,OLAP节点基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件的实现方式包括但不限于:
1)当前不存在时间层级或位置区域层级高于第一位置文件的第二位置文件时,OLAP节点根据第一位置文件,生成时间层级或位置区域层级等于或高于该第一位置文件的第二位置文件。
例如,在步骤S5中,对于时间范围为(2012-01-01-0:0:0,2012-01-01-01:0:0)的近期位置记录表,达到时间点2012年1月1日1时0分时,OLAP节点根据该近期位置记录表获得每个位置区域的第一位置文件;在步骤S6中,OLAP节点根据该等第一位置文件,分别生成包含时间范围(2012-01-01-0:0:0,2012-01-01-01:0:0)的时间层级为“小时”、“日”、“周”、“季”、“年”的第二位置文件。
2)当前已存在时间层级或位置区域层级等于或高于第一位置文件的第二位置文件时,OLAP节点根据第一位置文件,更新时间层级或位置区域层级等于或高于第一位置文件的第二位置文件。
例如,在步骤S5中,OLAP节点获得的第一位置文件所对应的时间范围为(2012-01-01-5:0:0,2012-01-01-6:0:0);在步骤S6中,OLAP节点根据该第一位置文件,更新2012年1月1日所对应的时间层级为“日”的第二位置文件、2012年1月1日所在周所对应的时间层级为“周”的第二位置文件、2012年1月所对应的时间层级为“月”的第二位置文件、2012年第一季度所对应的时间层级为“季”的第二位置文件、以及2102年所对应的时间层级为“年”的第二位置文件。
需要说明的是,上述实现方式1)和2)可同时被采用。即对于需要生成但尚未生成的、时间层级或位置区域层级等于或高于第一位置文件的第二位置文件,OLAP节点可根据第一位置文件来进行生成;对于已存在的、时间层级或位置区域层级等于或高于第一位置文件的另一部分第二位置文件,OLAP节点可根据第一位置文件来进行更新。
需要说明的是,尽管所有的第二位置文件都可直接由多个第一位置文件来生成,但是本领域技术人员应能理解,OLAP节点可直接根据所生成的第二位置文件进一步生成其他的第二位置文件。如OLAP节点可直接根据7个时间层级为“日”的第二位置文件生成时间层级为“周”的第二位置文件;又如,OLAP节点可根据多个位置区域层级为“市”的第二位置文件,生成一个位置区域层级为“省”的第二位置文件。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件的实现方式,均应包含在本发明的范围内。
根据本实施例的方案,可首先通过生成第一位置文件来进一步从位置维度上对位置更新信息进行划分,再根据时间层级和/或位置区域层级的映射关系,来进行大量的预计算,以生成不同时间层级和/或位置区域层级的第二位置文件,以便于进一步的预计算以及在OLAP节点中的查询。
图3为本发明的另一个实施例的在移动通信网络中进行OLAP分析的方法的流程示意图。本实施例的方法主要通过OLTP节点和OLAP节点来实现;其中,对参照图1所示实施例中所述的OLTP节点和OLAP节点所作的任何说明,均以引用的方式包含于本实施例中。根据本实施例的方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105、步骤S106、步骤S107和步骤S108。其中,步骤S101、步骤S102、步骤S103、步骤S104已在参照图1所示实施例中予以详述,且步骤S105和步骤S106已在参照图2所示实施例中予以详述,在此不再赘述。
在步骤S107中,OLAP节点根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表。
其中,所述时间用户统计表包含了多个用户在该时间用户统计表对应的时间范围内分别所在的位置区域。优选地,所述时间用户统计表包括用户的用户识别信息,且一个用户可对应于多个位置区域。更优选地,OLAP节点可通过对时间用户统计表的命名来指示该时间用户统计表所对应的时间范围。
优选地,时间用户统计表仅使用用户识别信息作为主键。OLAP节点在向时间用户统计表中插入用户所在的位置区域时,若该时间用户统计表的主键中不存在该用户的用户识别信息,则在该时间用户统计表中插入新的行来存储该用户的用户识别信息以及该位置区域;若该时间用户统计表中已存在该用户的用户识别信息,则以递增顺序在该用户的位置区域所在列中添加该位置区域。
具体地,若当前不存在与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表,OLAP节点根据第一位置文件或第二位置文件,生成与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表;若当前已存在与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表,OLAP节点根据第一位置文件或第二位置文件,更新该已存在的时间用户统计表。
例如,第一位置文件的时间层级为“日”,且其时间范围为(2012-01-01-0:0:0,2012-01-02-0:0:0)。在步骤S107中,OLAP节点根据该第一位置文件生成时间层级为“日”,且其时间范围为(2012-01-01-0:0:0,2012-01-02-0:0:0)的时间用户统计表。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表的实现方式,均应包含在本发明的范围内。
在步骤S108中,OLAP节点根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表。
其中,所述位置用户统计表包含了多个用户位于该位置用户统计表对应的位置区域时分别对应的时间信息。优选地,所述位置用户统计表包括用户的用户识别信息,且一个用户可有多个时间信息。更优选地,OLAP节点可通过对位置用户统计表的命名来指示该位置用户统计表所对应的位置区域。
优选地,位置用户统计表仅使用用户识别信息作为主键。OLAP节点在向位置用户统计表中插入用户在该位置区域时的时间信息时,若该位置用户统计表的主键中不存在该用户的用户识别信息,则在该位置用户统计表中插入新的行来存储该用户的用户识别信息以及该时间信息;若该位置用户统计表中已存在该用户的用户识别信息,则以递增顺序在时间信息所在列中添加该时间信息。
具体地,若当前不存在与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表,OLAP节点根据第一位置文件或第二位置文件,生成与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表;若当前已存在与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表,OLAP节点根据第一位置文件或第二位置文件,更新该已存在的位置用户统计表。
例如,第二位置文件的位置区域层级为“市”,且其位置区域为城市A。在步骤S107中,OLAP节点根据该第二位置文件生成位置区域层级为“市”,且其位置区域为城市A的位置用户统计表。
例如,表2为一个示例的位置用户统计表,其中,该位置用户统计表仅使用用户识别信息作为主键。
表2
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表的实现方式,均应包含在本发明的范围内。
需要说明的是,步骤S107和步骤S108之间并无先后顺序。
作为本实施例的一种优选方案,OLAP节点还执行以下步骤:OLAP节点根据预定时间条件,删除所有超时的第一位置文件或第二位置文件;且OLAP节点更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
其中,所述相关文件包括任何在时间或位置区域上与所删除的第一位置文件或第二位置文件相关的文件。优选地,所述相关文件包括以下至少一项:
1)与被删除的第一位置文件或第二位置文件相关的第二位置文件。例如,当删除2012年1月1所对应的时间层级为“月”的第二位置文件,则2012年第一季度所对应的时间层级为“季”的第二位置文件,以及2012年所对应的时间层级为“年”的第二位置文件均为所述相关文件。
2)时间用户统计表。例如,当删除2012年1月所对应的时间层级为“月”的第二位置文件,则所对应的时间范围包含2012年1月的时间用户统计表均为与该第二位置文件相关的时间用户统计表。
3)位置用户统计表。例如,当删除位置区域为“杭州”,且时间范围为2012年1月的第二位置文件时,则所对应的位置区域包括杭州,如所对应的位置区域为“浙江”,且所对应的时间范围包含2012年1月的位置用户统计表均为与该第二位置文件相关的位置用户统计表。
4)与被删除的第一位置文件或第二位置文件相关的索引文件。
具体地,OLAP节点根据预定时间条件,确定超时的第一位置文件或第二位置文件,并删除该等第一位置文件或第二位置文件;且更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
例如,预定时间条件指示在每月的一个时间点删除12个月之前的所有第一位置文件或第二位置文件,则每月到达所述时间点时,OLAP节点确定超时的第一位置文件或第二位置文件,并删除该等第一位置文件或第二位置文件;且更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
根据本实施例的方案,可根据第一位置文件或第二位置文件,生成时间用户统计表和位置用户统计表,以进一步地从用户角度对OLAP节点中所存储的用户的位置更新信息进行整理,以更加便于在OLAP节点中进行查询。
需要说明的是,在图2和图3所示实施例中,OLAP节点可按照预定的命名规则对第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表进行命名,以方便对该等文件中所记录的数据进行查询、计算或其他处理。例如,OLAP节点可基于“/年/月/日/小时/位置区域标识-时间范围长度”+“.后缀名”的命名规则来命名第一位置文件,上述表1所示的近期位置记录表所对应的时间层级可编码为“年-月-日-小时”的格式,则OLAP节点可将根据该近期位置记录表生成的、位置区域AA10所对应的第一位置文件,命名为“/2012/09/15/10/AA10-1.latr”,其中,latr为第一位置文件的后缀名。
更优选地,OLAP节点在生成第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表同时,还可生成该等文件所对应的索引文件,以便于对该等文件中的数据进行查询、计算或其他处理。
图4为本发明的一个实施例的在移动通信网络的OLAP节点中进行OLAP分析的方法的流程示意图。本实施例的方法主要通过OLAP节点来实现;其中,对参照图1所示实施例中所述的OLAP节点所作的任何说明,均以引用的方式包含于本实施例中。根据本实施例的方法包括步骤S201、步骤S202、步骤S203和步骤S204。
在步骤S201中,OLAP节点根据来自网络的查询请求,确定时间条件和位置条件。
其中,所述时间条件用于对需要查询的时间范围进行限定;优选地,所述时间条件包括起始时间和结束时间。其中,所述位置条件用于对需要查询的位置区域进行限定;优选地,所述位置条件包括起始位置和到达位置。
例如,来自网络的查询请求用于请求查询2012年11月30日至2012年12月31日有多少用户在杭州。OLAP节点根据该查询请求,确定时间条件为“2012年11月30日至2012年12月31日”,也即起始时间为“2012年11月30日”,结束时间为“2012年12月31日”;且OLAP节点确定位置条件为“杭州”。
在步骤S202中,OLAP节点根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表。
具体地,OLAP节点根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表的实现方式包括:
1)OLAP节点根据时间条件和位置条件,直接获取至少一个时间用户统计表和/或位置用户统计表。
例如,在步骤S201中,OLAP节点确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;在步骤S202中,OLAP节点直接获取所对应的位置区域为“杭州”且时间范围为“2012年11月30”的位置用户统计表Table1,以及所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的位置用户统计表Table2。
2)OLAP节点根据时间条件和位置条件,未查询到相应的用户统计表和/或位置用户统计表时,获取相应的至少一个第一位置文件和/或第二位置文件,并根据所述至少一个第一位置文件和/或第二位置文件,生成相应的时间用户统计表和/或位置用户统计表。
例如,在步骤S201中,OLAP节点确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;在步骤S202中,OLAP节点未查询到相应的位置用户统计表,则OLAP节点获取所对应的位置区域为“杭州”且时间范围为“2012年11月30的第二位置文件来生成位置用户统计表Table1,且获取所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的第二位置文件来生成位置用户统计表Table2。
需要说明的是,上述实现方式1)和2)可以结合执行。例如,在步骤S201中,OLAP节点确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;在步骤S202中,OLAP节点采用实现方式1)直接获取所对应的位置区域为“杭州”且时间范围为“2012年11月30的位置用户统计表Table1,并采用实现方式2)获取所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的第二位置文件来生成位置用户统计表Table2。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表的实现方式,均应包含在本发明的范围内。
在步骤S203中,OLAP节点根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量。
具体地,OLAP节点根据所述至少一个时间用户统计表和/或位置用户统计表,并结合所述时间条件和位置条件,来获取同时满足时间条件和位置条件的用户数量。
例如,当来自网络的查询请求用于查询2012年11月30日至2012年12月31日有多少用户在杭州。在步骤S201中,OLAP节点确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;在步骤S202中,OLAP节点获取所对应的位置区域为“杭州”且时间范围为“2012年11月30”的位置用户统计表Table1,以及所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的位置用户统计表Table2;在步骤S203中,OLAP节点直接合并Table1和Table2来生成位置用户统计表Table3,来获取用户数量。
在上述示例中,由于仅需要查询在2012年11月30日至2012年12月31日在杭州的用户数量,而不需要考虑用户在杭州的具体时间点,故OLAP节点合并Table1和Table2来生成位置用户统计表Table3时,可忽略Table1和Table2中的时间信息,仅保留Table1和Table2中的用户识别信息,以加快查询的速度。
又例如,当来自网络的查询请求用于查询2012年07月01日至2012年08月31日有多少用户从上海来到杭州。在步骤S201中,OLAP节点确定时间条件为“2012年07月01日至2012年08月31日”,位置条件中起始位置为“上海”、到达位置为“杭州”;在步骤S202中,OLAP节点获取所对应的位置区域为“上海”且时间范围为“2012年07月01日至2012年08月31日”的位置用户统计表Table4,以及所对应的位置区域为“杭州”且时间范围为“2012年07月01日至2012年08月31日”的位置用户统计表Table5;在步骤S203中,OLAP节点在Table4和Table5中删除不同时存在于该两个位置用户统计表中的用户识别码的记录,并通过比较Table4和Table5中的时间信息来确定用户数量,其中,当Table5中的最新时间信息晚于Table4中最早的时间信息时,表明该用户从上海来到杭州。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量的实现方式,均应包含在本发明的范围内。
在步骤S204中,OLAP节点将所述用户数量反馈给所述网络。
需要说明的是,由于每个OLAP节点的服务范围不同,网络可对移动通信网络中的多个OLAP节点向其反馈的用户数量,直接进行加运算,来获得其要查询的总的用户数量。
根据本实施例的方案,OLAP节点可通过分析来自网络的查询请求来获取相应的时间用户统计表和/或位置用户统计表,以获得网络所查询的用户数量,由于OLAP中预先生成并存储了不同时间层级和位置区域层级的第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表,故在本方案中在进行查询时仅需进行少量的计算或其他处理,同时不需要花费长时间来加载数据,从而大大缩短了查询所需的时间;且在进行查询时可根据实际的时间条件和位置条件,忽略时间用户统计表和位置用户统计表中用户识别码以外的其他信息,从而更进一步地加快查询速度。
需要说明的是,本发明的方案可适用于对大量的数据进行存储和分析。例如,假设运营商在6个城市中有5000万(50M)移动用户,OLTP节点每小时平均能够接收到来自每个用户的5个位置更新事件,对于每个位置更新事件,OLTP节点需要向OLAP节点发送的位置更新信息约为25个字节(byte),则OLTP节点每年需收集约55TB(50M*5*25bytes*24*365=14Mb/s)的位置更新信息;进一步假设该运营商总共部署有三个OLAP节点,大约50k个小区平均分布在该三个OLAP节点中,且用户被均匀分布在该等小区之中,则一个小区中有50M/50K=1000的用户;假设近期位置记录表中每条记录的大小约为15字节,则在一个小时的时间范围内,内存中的近期位置记录表的大小约占50M*5*15/3=1.25GB,每个OLAP节点中每年将生成50K*24*365/3=146,000,000个第一位置文件,且每个第一位置文件的平均大小为1000*5*15=75KB;进一步地,对于一个小区对应的位置区域,时间层级为“日”的位置用户统计表的大小约为1000*24*5*15=1.8MB,时间层级为“周”的位置用户统计表的大小约为7*1.8=12.6MB,时间层级为“月”的位置用户统计表的大小约为4*12.6=50.4MB,时间层级为“季”的位置用户统计表的大小约为3*50.4=151.2MB/LAE,时间层级为“年”的位置用户统计表的大小约为4*151.2=604MB,内存中经常使用的位置用户统计表的总大小约为1.8MB*365+12.6MB*50+50.4MB*12+151.2MB*4+604MB=3.1GB。
需要说明的是,由于OLAP节点中需要存储大量的数据和文件,为了不影响OLAP节点的处理性能,以及在OLAP节点中进行查询的速度,OLAP节点可仅存储常用的第二位置文件、时间用户统计表及位置用户统计表,如时间层级为“月”、“季”、“年”的第二位置文件、时间用户统计表及位置用户统计表,位置区域层级为“市”的第二位置文件、时间用户统计表及位置用户统计表,节假日所在时间范围所对应时间用户统计表,以及旅游胜地所在位置区域对应的位置用户统计表等。此外,可以通过增加所部署的OLAP节点的数量,来缓存更多的第二位置文件、时间用户统计表及位置用户统计表。
此外,本发明的方案中,到外部移动核心网络元素的HLR/HSS标准接口可无需变化;HLR/HSS内的所有用户均可参与位置分析;无需任何额外的电信服务应用在移动用户上,基本电路交换即可满足服务需求;移动设备上无需额外软件和智能手机能力;HLR/HSS中OLTP数据库和OLAP数据仓库之间可分离;在HLR/HSS呼叫处理上的影响应可被很好的控制、设计和限制;OLAP数据仓库可存储最近一年至少50M个用户的历史位置,以平均位置更新率为每个用户5忙时呼叫次数(BHCA);10分钟内可运行一次典型OLAP查询;系统架构应可扩展用于大的且地理冗余的HLR/HSS部署。
图5为本发明的一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图。根据本实施例的移动通信系统包括OLTP节点和OLAP节点。其中,所述OLTP节点包括辅助装置,该辅助装置包括第一发送装置101;其中,所述OLAP节点包括分析装置,该分析装置包括第一获取装置102、存储装置103和触发装置104。
OLTP节点中的第一发送装置101将基于来自用户的位置更新事件获得的位置更新信息发送给OLAP节点。
其中,所述位置更新事件用于指示用户所在的位置区域发生变化,且所述位置更新事件可直接包含或可用于获得用户的位置更新信息。
其中,所述位置更新信息包括任何用于指示用户的位置变化的信息。优选地,所述位置更新信息包括但不限于:
1)用户识别信息。
优选地,所述用户识别信息用于标识用户所使用的移动设备;更优选地,所述用户识别信息包括用户的IMSI码。
2)位置区域标识。
所述位置区域标识用于指示用户当前位于的位置区域。其中,所述位置区域表示在一个位置区域层级上的具体位置。例如,来自用户的位置更新事件指示用户在当前时间点移动至小区B,则用户的位置更新信息中所述位置区域标识用于标识用户所移动至的小区B。
3)时间信息。
所述时间信息用于指示用户位于相应的位置区域时的时间。例如,来自用户的位置更新事件指示用户在一个时间点移动至小区B,则所述时间信息用于指示该时间点。
具体地,第一发送装置101将OLTP节点在一段时间内基于来自用户的位置更新事件所获得的位置更新信息发送给OLAP节点。
其中,所述一段时间是可配置的。例如,配置每5分钟为一段时间。
其中,第一发送装置101可采用多种方式将OLTP节点在一段时间内基于来自用户的位置更新事件所获得的位置更新信息发送至OLAP节点。例如,第一发送装置101可基于轮叫(Round-Robin)或加权循环(WeightedRoundRobin)等算法,在移动通信网络所包括的所有OLAP节点间进行分发,来将位置更新信息发送给至少一个OLAP节点。
优选地,第一发送装置101将OLTP节点在一段时间内基于来自用户的位置更新事件所获得的所有位置更新信息,作为一个数据块进行压缩,并将压缩后的位置更新信息发送至OLAP节点。
例如,第一发送装置101将OLTP节点在8:00到8:05之间基于来自用户的位置更新事件所获得的所有位置更新信息,作为一个数据块进行压缩,并将压缩后的位置更新信息发送至OLAP节点。
作为一种优选方案,第一发送装置101执行的操作可通过在OLTP节点上运行HSDC(highspeeddatacapture,高速数据捕获)进程来实现,其中,一个OLTP节点上可运行多个HSDC进程。
需要说明的是,为了使得第一发送装置101执行的操作不会影响到OLTP节点进行呼叫处理的性能,可根据需要对OLTP节点的CPU、内存、磁盘I/O以及网络带宽等进行一定地优化。作为一个例子,假设运营商在6个城市中有5000万移动用户,OLTP节点在一个小时内平均能够接收到来自每个用户的5个位置更新事件,且假设对于每个位置更新事件,OLTP节点需要向OLAP节点发送的位置更新信息约为25个字节,则如果不考虑对位置更新信息的特殊处理(如压缩),则OLTP节点与OLAP节点之间的带宽要求为约14Mb/s(由50M*5*25bytes*8/3600s=14Mb/s可得出)。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何将基于来自用户的位置更新事件获得的位置更新信息发送给OLAP节点的实现方式,均应包含在本发明的范围内。
OLAP节点中的第一获取装置102从接收到的用户的位置更新信息中获取用户识别信息。
优选地,当OALP节点接收到的是OLTP节点发送的、压缩后的位置更新信息时,OLAP节点在第一获取装置102之前还执行对其接收到的数据进行解压缩的操作,以获取未压缩的、用户的位置更新信息。
当OLAP节点根据所述用户识别信息确定该位置更新信息对应的用户属于该OLAP节点的服务范围时,OLAP节点中的存储装置103将所述位置更新信息存储至近期位置记录表中,其中,当前时间点位于所述近期位置记录表所对应的时间范围内,该当前时间点为OLAP节点的时钟当前指示的时间点。
需要说明的是,对于本实施例所述移动通信网络中的多个OLAP节点,每个OLAP节点具有一定的服务范围,且不同的OLAP节点的服务范围不同。优选地,每个OLAP节点中均存储了所述多个OLAP节点中每个OLAP节点的服务范围。
其中,所述近期位置记录表用于记录在一个时间范围内用户的位置变化情况,该近期位置记录表可作为OLAP采用的星型模式中的事实表。优选地,所述近期位置记录表所对应的时间范围是在预先配置的时间层级上的一个具体的时间范围。例如,预先配置的时间层级为“小时”,则每日可被均匀地划分为24个时间范围;若当前时间点为8点30分10秒,则当前的近期位置记录表所对应的时间范围为8:00-9:00。
优选地,所述近期位置记录表包含多个位置区域标识、位于每个位置区域的用户的用户识别信息和用户位于该位置区域时的时间信息,其中,所述用户位于该位置区域时的时间信息可用于指示用户移动至该位置区域的时间点。如下表1所示,为一个示例的近期位置记录表。
其中,表1所示的近期位置记录表中,位置区域标识LAE以及用户识别信息IMSI为主键;其中,位置区域标识AA10、AA11、AA12用于标识不同的小区。该近期位置记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0)。
需要说明的是,OLTP节点的第一发送装置101每执行一次操作,OLAP节点的第一获取装置102和存储装置103可执行多次操作。例如,OLTP节点的第一发送装置101向OLAP节点发送5个用户的位置更新信息,则对于每个位置更新信息,OLAP节点的第一获取装置102和存储装置103均执行一次操作来将属于该OLAP节点服务范围的用户的位置更新信息存储至相应的近期位置记录表中。
当到达所述时间范围的截止时间时,OLAP节点的触发装置104将一个新的位置记录表,作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作。。
需要说明的是,当到达所述时间范围的截止时间时,当前的近期位置记录表将禁止继续存储数据,且优选地被保存至磁盘。
具体地,当到达所述时间范围的截止时间时,触发装置104将一个新的近期位置记录表,作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作的实现方式包括但不限于:
1)当到达所述时间范围的截止时间时,触发装置104生成新的近期位置记录表,并将该新的近期位置记录表作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作。
例如,当前近期记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0),当到达时间点2012-09-15-11:0:0时,触发装置104生成新的近期位置记录表,并将该新的近期位置记录表作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作。
2)在达到所述时间范围的截止时间之前,触发装置104生成新的近期位置记录表,当到达所述时间范围的截止时间时,将该新的近期位置记录表作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作。
例如,当前近期记录表所对应的时间范围为(2012-09-15-10:0:0,2012-09-15-11:0:0),在时间点2012-09-15-10:59:0,触发装置104生成新的近期位置记录表;当到达时间点2012-09-15-11:0:0时,OLAP节点将该新的近期位置记录表作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当到达所述时间范围的截止时间时,将一个新的位置记录表,作为所述近期位置记录表,以触发第一获取装置102和存储装置103重复执行操作的实现方式,均应包含在本发明的范围内。
需要说明的是,本领域技术人员应能理解,在OLAP节点中,触发装置104执行的操作与第一获取装置102和存储装置103执行的操作并无先后顺序,只要到达当前近期位置记录表所对应的时间范围的截止时间,触发装置104便会执行操作;同样地,触发装置104执行的操作与后续实施例中OLAP节点中所执行的其他操作也无先后顺序。
作为一种优选方案,OLAP节点的分析装置还包括在第一获取装置执行操作之后执行操作的第二发送装置(图未示)。当根据所述用户识别信息确定位置更新信息对应的所述用户属于另一个OLAP节点的服务范围时,第二发送装置将所述位置更新信息发送至所述另一个OLAP节点。
现有技术中,HLR/HSS并不支持数据仓库功能。而为了在移动核心网中采用数据仓库来解决大规模的数据处理和查询,若采用这种方案来将OLTP中的数据移至OLAP中:OLAP节点中的数据库通过提取转换加载工具,定期地从OLTP节点的数据库中获取实时数据。这将导致以下后果:由于HLR/HSS仅能够存储用户当前的或最近的位置信息,故HLR/HSS极有可能丢弃OLAP尚未获得的位置信息,从而将容易造成位置信息的丢失;退一步来说,即便HLR/HSS能够存储用户历史的或长期的位置信息,但由于提取转换加载工具在将OLTP数据库中的数据定期地输入至OLAP数据库时,需要访问OLTP数据库中的大量数据,这将很容易引起在HLR/HSS的CPU、磁盘I/O、网络带宽资源上产生的短时间的突发,从而严重影响呼叫处理的性能;并且,上述提取转换加载工具通常需要较长的时间来将数据加载到OLAP数据库中,这将严重影响到OLAP分析及OLAP查询的处理性能。
而根据本实施例的方案,OLTP节点可实时收集用户的位置更新信息,并定期将所收集到的位置更新信息发送到OLAP节点;从而大大减少了位置信息丢失的可能性,并能够避免因提取转换加载工具对OLTP数据库的访问造成的突发。OLAP节点可通过将存储其接收到的、属于该OLAP节点服务范围的用户的位置更新信息存储至相应的近期位置记录表中,来存储用户大量的位置更新信息;且通过对近期位置记录表所对应的时间层级的设置可限定近期位置记录表的时间范围,从而在时间维度上对位置更新信息进行划分,有助于对近期位置记录表中的数据进行进一步的处理。
图6为本发明的另一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图。根据本实施例的移动通信系统包括OLTP节点和OLAP节点。其中,所述OLTP节点包括辅助装置,该辅助装置包括第一发送装置101;其中,所述OLAP节点包括分析装置,该分析装置包括第一获取装置102、存储装置103、触发装置104、第二获取装置105和第一融合装置106。其中,第一发送装置101、第一获取装置102、存储装置103和触发装置104已在参照图5所示实施例中予以详述,在此不再赘述。
当达到所述时间范围的截止时间时,OLAP节点中的第二获取装置105根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件。
具体地,在当达到当前近期位置记录表所对应的时间范围的截止时间后,对于该近期位置记录表中所记录的每个位置区域,第二获取装置105获得该位置区域所对应的第一位置文件。其中,第二获取装置105可在到达时间范围的截止时间时立即执行获得第一位置文件的操作,也可在该截至时间后经过一定的时间,再执行获得第一位置文件的操作。
例如,基于表1所示的近期位置记录表,第二获取装置105分别生成位置区域AA10、AA11、AA12所对应的第一位置文件。
其中,所述第一位置文件用于记录在当前近期位置记录表所对应的时间范围内,移动至该第一位置文件所对应的位置区域的用户。优选地,所述第一位置文件包括但不限于以下至少一项:
1)该第一位置文件所对应的位置区域的相关信息,如位置区域层级、位置区域标识等。优选地,第一位置文件所对应的位置区域层级为位置维度表中所定义的最低的位置区域层级。
2)该第一位置文件所对应的时间的相关信息,如时间层级、时间范围等。优选地,一位置文件所对应的时间层级为时间维度表中所定义的最低的时间层级。
3)该第一位置文件中所记录的用户总数,所述用户总数有利于OLAP节点进行用户数量相关的计算或查询。
4)位于该位置区域的每个用户的用户信息,其中,所述用户信息包括任何与用户相关的信息,优选地,所述用户用户信息包括用户的用户识别信息。
5)每个用户在该位置区域时的时间信息,其可用于指示用户移动至该位置区域的时间点。
作为一种优选方案,为了减小第一位置文件的大小,第一位置文件采用如下文件结构:第一位置文件的主体部分仅包括每个用户在第一位置文件所对应的位置区域时的时间信息;第一位置文件的头部包括但不限于:第一位置文件所对应的位置区域的相关信息和时间的相关信息、第一位置文件所记录的用户总数、以及每个用户的用户识别码等;优选地,对于第一位置文件中的每个用户,都有一个指针可以从该第一位置文件中的头部指向其主体部分。
例如,图9为本发明的一个示例的第一位置文件的结构示意图。其中,IMSI1、IMSI2和IMSI3分别为用户1、用户2和用户3的用户识别信息。其中,该第一位置文件的头部包括:用户总数、第一位置文件所对应的位置区域的相关信息、第一位置文件所对应的时间的相关信息、每个用户的用户识别码;且其中,该第一位置文件的主体部分仅包括每个用户的时间信息;并且,对于每个用户,都有一个指针可以从其用户识别码指向其时间信息。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当达到所述时间范围的截止时间时,根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件的实现方式,均应包含在本发明的范围内。
OLAP节点中的第一融合装置106基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件。
其中,所述多个第二位置文件之间的时间层级或位置区域层级不同。且其中,一个第一位置文件可存在与其相关的、多个在不同时间层级/位置区域层级上的第二位置文件。例如,一个时间层级为“日”的第一位置文件存可在与其相关的、时间层级为“周”、“季”、“年”的第二位置文件。又例如,一个位置区域层级为“市”的第一位置文件可存在与其相关的、位置区域层级为“省”和“国家”的第二位置文件。
优选地,所述第二位置文件包括但不限于以下至少一项:
1)该第二位置文件所对应的位置区域层级。
2)该第二位置文件所对应的时间层级。
3)该第二位置文件中所记录的用户总数,所述用户总数有利于OLAP节点进行用户数量相关的计算或查询。
4)用户在第二位置文件所对应的位置区域时的时间信息,或,用户在第二位置文件所对应的时间范围内的所在的位置区域。
优选地,所述第二位置文件与所述第一位置文件可采用相同或相似的文件结构,在此不再赘述。
具体地,第一融合装置106基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件的实现方式包括但不限于:
1)当前不存在时间层级或位置区域层级高于第一位置文件的第二位置文件时,第一融合装置106根据第一位置文件,生成时间层级或位置区域层级等于或高于该第一位置文件的第二位置文件。
例如,对于时间范围为(2012-01-01-0:0:0,2012-01-01-01:0:0)的近期位置记录表,达到时间点2012年1月1日1时0分时,第二获取装置105根据该近期位置记录表获得每个位置区域的第一位置文件;第一融合装置106根据该等第一位置文件,分别生成包含时间范围(2012-01-01-0:0:0,2012-01-01-01:0:0)的时间层级为“小时”、“日”、“周”、“季”、“年”的第二位置文件。
2)当前已存在时间层级或位置区域层级等于或高于第一位置文件的第二位置文件时,第一融合装置106根据第一位置文件,更新时间层级或位置区域层级等于或高于第一位置文件的第二位置文件。
例如,第二获取装置105获得的第一位置文件所对应的时间范围为(2012-01-01-5:0:0,2012-01-01-6:0:0);第一融合装置106根据该第一位置文件,更新2012年1月1日所对应的时间层级为“日”的第二位置文件、2012年1月1日所在周所对应的时间层级为“周”的第二位置文件、2012年1月所对应的时间层级为“月”的第二位置文件、2012年第一季度所对应的时间层级为“季”的第二位置文件、以及2102年所对应的时间层级为“年”的第二位置文件。
需要说明的是,上述实现方式1)和2)可同时被采用。即对于需要生成但尚未生成的、时间层级或位置区域层级等于或高于第一位置文件的第二位置文件,第一融合装置106可根据第一位置文件来进行生成;对于已存在的、时间层级或位置区域层级等于或高于第一位置文件的另一部分第二位置文件,第一融合装置106可根据第一位置文件来进行更新。
需要说明的是,尽管所有的第二位置文件都可直接由多个第一位置文件来生成,但是本领域技术人员应能理解,第一融合装置106可直接根据所生成的第二位置文件进一步生成其他的第二位置文件。如第一融合装置106可直接根据7个时间层级为“日”的第二位置文件生成时间层级为“周”的第二位置文件;又如,第一融合装置106可根据多个位置区域层级为“市”的第二位置文件,生成一个位置区域层级为“省”的第二位置文件。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件的实现方式,均应包含在本发明的范围内。
根据本实施例的方案,可首先通过生成第一位置文件来进一步从位置维度上对位置更新信息进行划分,再根据时间层级和/或位置区域层级的映射关系,来进行大量的预计算,以生成不同时间层级和/或位置区域层级的第二位置文件,以便于进一步的预计算以及在OLAP节点中的查询。
图7为本发明的另一个实施例的在移动通信网络中进行OLAP分析的系统结构示意图。根据本实施例的移动通信系统包括OLTP节点和OLAP节点。其中,所述OLTP节点包括辅助装置,该辅助装置包括第一发送装置101;其中,所述OLAP节点包括分析装置,该分析装置包括第一获取装置102、存储装置103、触发装置104、第二获取装置105、第一融合装置106、第二融合装置107和第三融合装置108。其中,第一发送装置101、第一获取装置102、存储装置103和触发装置104已在参照图5所示实施例中予以详述,且第二获取装置105和第一融合装置106已在参照图6所示实施例中予以详述,在此不再赘述。
OLAP节点中的第二融合装置107根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表。
其中,所述时间用户统计表包含了多个用户在该时间用户统计表对应的时间范围内分别所在的位置区域。优选地,所述时间用户统计表包括用户的用户识别信息,且一个用户可对应于多个位置区域。更优选地,第二融合装置107可通过对时间用户统计表的命名来指示该时间用户统计表所对应的时间范围。
优选地,时间用户统计表仅使用用户识别信息作为主键。第二融合装置107在向时间用户统计表中插入用户所在的位置区域时,若该时间用户统计表的主键中不存在该用户的用户识别信息,则在该时间用户统计表中插入新的行来存储该用户的用户识别信息以及该位置区域;若该时间用户统计表中已存在该用户的用户识别信息,则以递增顺序在该用户的位置区域所在列中添加该位置区域。
具体地,若当前不存在与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表,第二融合装置107根据第一位置文件或第二位置文件,生成与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表;若当前已存在与第一位置文件或第二位置文件所对应的时间范围相同的时间用户统计表,第二融合装置107根据第一位置文件或第二位置文件,更新该已存在的时间用户统计表。
例如,第一位置文件的时间层级为“日”,且其时间范围为(2012-01-01-0:0:0,2012-01-02-0:0:0)。第二融合装置107根据该第一位置文件生成时间层级为“日”,且其时间范围为(2012-01-01-0:0:0,2012-01-02-0:0:0)的时间用户统计表。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表的实现方式,均应包含在本发明的范围内。
第三融合装置108根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表。
其中,所述位置用户统计表包含了多个用户位于该位置用户统计表对应的位置区域时分别对应的时间信息。优选地,所述位置用户统计表包括用户的用户识别信息,且一个用户可有多个时间信息。更优选地,第三融合装置108可通过对位置用户统计表的命名来指示该位置用户统计表所对应的位置区域。
优选地,位置用户统计表仅使用用户识别信息作为主键。第三融合装置108在向位置用户统计表中插入用户在该位置区域时的时间信息时,若该位置用户统计表的主键中不存在该用户的用户识别信息,则在该位置用户统计表中插入新的行来存储该用户的用户识别信息以及该时间信息;若该位置用户统计表中已存在该用户的用户识别信息,则以递增顺序在时间信息所在列中添加该时间信息。
具体地,若当前不存在与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表,第三融合装置108根据第一位置文件或第二位置文件,生成与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表;若当前已存在与第一位置文件或第二位置文件所对应的位置区域相同的位置用户统计表,第三融合装置108根据第一位置文件或第二位置文件,更新该已存在的位置用户统计表。
例如,第二位置文件的位置区域层级为“市”,且其位置区域为城市A。第三融合装置108根据该第二位置文件生成位置区域层级为“市”,且其位置区域为城市A的位置用户统计表。
例如,表2为一个示例的位置用户统计表,其中,该位置用户统计表仅使用用户识别信息作为主键。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表的实现方式,均应包含在本发明的范围内。
需要说明的是,第二融合装置107和第三融合装置108执行的操作之间并无先后顺序。
作为本实施例的一种优选方案,OLAP节点的分析装置还包括删除装置(图未示)和更新装置(图未示)。删除装置根据预定时间条件,删除所有超时的第一位置文件或第二位置文件;且更新装置更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
其中,所述相关文件包括任何在时间或位置区域上与所删除的第一位置文件或第二位置文件相关的文件。优选地,所述相关文件包括以下至少一项:
1)与被删除的第一位置文件或第二位置文件相关的第二位置文件。例如,当删除2012年1月1所对应的时间层级为“月”的第二位置文件,则2012年第一季度所对应的时间层级为“季”的第二位置文件,以及2012年所对应的时间层级为“年”的第二位置文件均为所述相关文件。
2)时间用户统计表。例如,当删除2012年1月所对应的时间层级为“月”的第二位置文件,则所对应的时间范围包含2012年1月的时间用户统计表均为与该第二位置文件相关的时间用户统计表。
3)位置用户统计表。例如,当删除位置区域为“杭州”,且时间范围为2012年1月的第二位置文件时,则所对应的位置区域包括杭州,如所对应的位置区域为“浙江”,且所对应的时间范围包含2012年1月的位置用户统计表均为与该第二位置文件相关的位置用户统计表。
4)与被删除的第一位置文件或第二位置文件相关的索引文件。
具体地,删除装置根据预定时间条件,确定超时的第一位置文件或第二位置文件,并删除该等第一位置文件或第二位置文件;更新装置更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
例如,预定时间条件指示在每月的一个时间点删除12个月之前的所有第一位置文件或第二位置文件,则每月到达所述时间点时,删除装置确定超时的第一位置文件或第二位置文件,并删除该等第一位置文件或第二位置文件;更新装置更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件。
根据本实施例的方案,可根据第一位置文件或第二位置文件,生成时间用户统计表和位置用户统计表,以进一步地从用户角度对OLAP节点中所存储的用户的位置更新信息进行整理,以更加便于在OLAP节点中进行查询。
需要说明的是,在图6和图7所示实施例中,OLAP节点可按照预定的命名规则对第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表进行命名,以方便对该等文件中所记录的数据进行查询、计算或其他处理。例如,OLAP节点可基于“/年/月/日/小时/位置区域标识-时间范围长度”+“.后缀名”的命名规则来命名第一位置文件,上述表1所示的近期位置记录表所对应的时间层级可编码为“年-月-日-小时”的格式,则OLAP节点可将根据该近期位置记录表生成的、位置区域AA10所对应的第一位置文件,命名为“/2012/09/15/10/AA10-1.latr”,其中,latr为第一位置文件的后缀名。
更优选地,OLAP节点在生成第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表同时,还可生成该等文件所对应的索引文件,以便于对该等文件中的数据进行查询、计算或其他处理。
图8为本发明的一个实施例的在移动通信网络的OLAP节点中进行OLAP分析的分析装置的结构示意图。本实施例的方法主要通过OLAP节点来实现。根据本实施例的分析装置包括确定装置201、第三获取装置202、第四获取装置203和第三发送装置204。
确定装置201根据来自网络的查询请求,确定时间条件和位置条件。
其中,所述时间条件用于对需要查询的时间范围进行限定;优选地,所述时间条件包括起始时间和结束时间。其中,所述位置条件用于对需要查询的位置区域进行限定;优选地,所述位置条件包括起始位置和到达位置。
例如,来自网络的查询请求用于请求查询2012年11月30日至2012年12月31日有多少用户在杭州。确定装置201根据该查询请求,确定时间条件为“2012年11月30日至2012年12月31日”,也即起始时间为“2012年11月30日”,结束时间为“2012年12月31日”;且确定装置201确定位置条件为“杭州”。
第三获取装置202根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表。
具体地,第三获取装置202根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表的实现方式包括:
1)第三获取装置202根据时间条件和位置条件,直接获取至少一个时间用户统计表和/或位置用户统计表。
例如,确定装置201确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;第三获取装置202直接在OLAP节点中获取所对应的位置区域为“杭州”且时间范围为“2012年11月30”的位置用户统计表Table1,以及所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的位置用户统计表Table2。
2)第三获取装置202根据时间条件和位置条件,未查询到相应的用户统计表和/或位置用户统计表时,获取相应的至少一个第一位置文件和/或第二位置文件,并根据所述至少一个第一位置文件和/或第二位置文件,生成相应的时间用户统计表和/或位置用户统计表。
例如,确定装置201确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;第三获取装置202未查询到相应的位置用户统计表,则第三获取装置202获取所对应的位置区域为“杭州”且时间范围为“2012年11月30的第二位置文件来生成位置用户统计表Table1,且获取所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的第二位置文件来生成位置用户统计表Table2。
需要说明的是,上述实现方式1)和2)可以结合执行。例如,确定装置201确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;第三获取装置202采用实现方式1)直接获取所对应的位置区域为“杭州”且时间范围为“2012年11月30的位置用户统计表Table1,并采用实现方式2)获取所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的第二位置文件来生成位置用户统计表Table2。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表的实现方式,均应包含在本发明的范围内。
第四获取装置203根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量。
具体地,第四获取装置203根据所述至少一个时间用户统计表和/或位置用户统计表,并结合所述时间条件和位置条件,来获取同时满足时间条件和位置条件的用户数量。
例如,当来自网络的查询请求用于查询2012年11月30日至2012年12月31日有多少用户在杭州。确定装置201确定时间条件为“2012年11月30日至2012年12月31日”,位置条件为“杭州”;第三获取装置202获取所对应的位置区域为“杭州”且时间范围为“2012年11月30”的位置用户统计表Table1,以及所对应的位置区域为“杭州”且时间范围为“2012年12月1日至2012年12月31日”的位置用户统计表Table2;第四获取装置203直接合并Table1和Table2来生成位置用户统计表Table3,来获取用户数量。
在上述示例中,由于仅需要查询在2012年11月30日至2012年12月31日在杭州的用户数量,而不需要考虑用户在杭州的具体时间点,故第四获取装置203合并Table1和Table2来生成位置用户统计表Table3时,可忽略Table1和Table2中的时间信息,仅保留Table1和Table2中的用户识别信息,以加快查询的速度。
又例如,当来自网络的查询请求用于查询2012年07月01日至2012年08月31日有多少用户从上海来到杭州。确定装置确定时间条件为“2012年07月01日至2012年08月31日”,位置条件中起始位置为“上海”、到达位置为“杭州”;第三获取装置202获取所对应的位置区域为“上海”且时间范围为“2012年07月01日至2012年08月31日”的位置用户统计表Table4,以及所对应的位置区域为“杭州”且时间范围为“2012年07月01日至2012年08月31日”的位置用户统计表Table5;第四获取装置203在Table4和Table5中删除不同时存在于该两个位置用户统计表中的用户识别码的记录,并通过比较Table4和Table5中的时间信息来确定用户数量,其中,当Table5中的最新时间信息晚于Table4中最早的时间信息时,表明该用户从上海来到杭州。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量的实现方式,均应包含在本发明的范围内。
第三发送装置将所述用户数量反馈给所述网络。
需要说明的是,由于每个OLAP节点的服务范围不同,网络可对移动通信网络中的多个OLAP节点向其反馈的用户数量,直接进行加运算,来获得其要查询的总的用户数量。
根据本实施例的方案,OLAP节点可通过分析来自网络的查询请求来获取相应的时间用户统计表和/或位置用户统计表,以获得网络所查询的用户数量,由于OLAP中预先生成并存储了不同时间层级和位置区域层级的第一位置文件、第二位置文件、时间用户统计表以及位置用户统计表,故在本方案中在进行查询时仅需进行少量的计算或其他处理,同时不需要花费长时间来加载数据,从而大大缩短了查询所需的时间;且在进行查询时可根据实际的时间条件和位置条件,忽略时间用户统计表和位置用户统计表中用户识别码以外的其他信息,从而更进一步地加快查询速度。
需要说明的是,本发明的方案可适用于对大量的数据进行存储和分析。例如,假设运营商在6个城市中有5000万(50M)移动用户,OLTP节点每小时平均能够接收到来自每个用户的5个位置更新事件,对于每个位置更新事件,OLTP节点需要向OLAP节点发送的位置更新信息约为25个字节(byte),则OLTP节点每年需收集约55TB(50M*5*25bytes*24*365=14Mb/s)的位置更新信息;进一步假设该运营商总共部署有三个OLAP节点,大约50k个小区平均分布在该三个OLAP节点中,且用户被均匀分布在该等小区之中,则一个小区中有50M/50K=1000的用户;假设近期位置记录表中每条记录的大小约为15字节,则在一个小时的时间范围内,内存中的近期位置记录表的大小约占50M*5*15/3=1.25GB,每个OLAP节点中每年将生成50K*24*365/3=146,000,000个第一位置文件,且每个第一位置文件的平均大小为1000*5*15=75KB;进一步地,对于一个小区对应的位置区域,时间层级为“日”的位置用户统计表的大小约为1000*24*5*15=1.8MB,时间层级为“周”的位置用户统计表的大小约为7*1.8=12.6MB,时间层级为“月”的位置用户统计表的大小约为4*12.6=50.4MB,时间层级为“季”的位置用户统计表的大小约为3*50.4=151.2MB/LAE,时间层级为“年”的位置用户统计表的大小约为4*151.2=604MB,内存中经常使用的位置用户统计表的总大小约为1.8MB*365+12.6MB*50+50.4MB*12+151.2MB*4+604MB=3.1GB。
需要说明的是,由于OLAP节点中需要存储大量的数据和文件,为了不影响OLAP节点的处理性能,以及在OLAP节点中进行查询的速度,OLAP节点可仅存储常用的第二位置文件、时间用户统计表及位置用户统计表,如时间层级为“月”、“季”、“年”的第二位置文件、时间用户统计表及位置用户统计表,位置区域层级为“市”的第二位置文件、时间用户统计表及位置用户统计表,节假日所在时间范围所对应时间用户统计表,以及旅游胜地所在位置区域对应的位置用户统计表等。此外,可以通过增加所部署的OLAP节点的数量,来缓存更多的第二位置文件、时间用户统计表及位置用户统计表。
此外,本发明的方案中,到外部移动核心网络元素的HLR/HSS标准接口可无需变化;HLR/HSS内的所有用户均可参与位置分析;无需任何额外的电信服务应用在移动用户上,基本电路交换即可满足服务需求;移动设备上无需额外软件和智能手机能力;HLR/HSS中OLTP数据库和OLAP数据仓库之间可分离;在HLR/HSS呼叫处理上的影响应可被很好的控制、设计和限制;OLAP数据仓库可存储最近一年至少50M个用户的历史位置,以平均位置更新率为每个用户5忙时呼叫次数(BHCA);10分钟内可运行一次典型OLAP查询;系统架构应可扩展用于大的且地理冗余的HLR/HSS部署。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (15)
1.一种在移动通信网络的OLTP节点中辅助进行OLAP分析的方法,其中,所述移动通信网络包括OLTP节点和OLAP节点,该方法包括以下步骤:
a将基于来自用户的位置更新事件获得的位置更新信息发送给所述OLAP节点。
2.一种在移动通信网络的一个OLAP节点中进行OLAP分析的方法,其中,所述移动通信网络包括OLTP节点和多个OLAP节点,该方法包括以下步骤:
A从接收到的用户的位置更新信息中获取用户识别信息;
B当根据所述用户识别信息确定所述用户属于该OLAP节点的服务范围时,将所述位置更新信息存储至近期位置记录表中,其中,当前时间点位于所述近期位置记录表所对应的时间范围内;
其中,该方法还包括以下步骤:
-当到达所述时间范围的截止时间时,将一个新的近期位置记录表,作为所述近期位置记录表,以重复所述步骤A和B。
3.根据权利要求2所述的方法,其中,该方法还包括以下步骤:
-当根据所述用户识别信息确定所述用户属于另一个OLAP节点的服务范围时,将所述位置更新信息发送至所述另一个OLAP节点。
4.根据权利要求2或3所述的方法,其中,所述近期位置记录表包含多个位置区域标识、位于每个位置区域的用户的用户识别信息和用户位于该位置区域时的时间信息,该方法还包括以下步骤:
-在达到所述时间范围的截止时间后,根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件,其中,所述第一位置文件包含位于该位置区域的每个用户的用户识别信息以及每个用户在该位置区域时的时间信息,所述位置区域和所述时间信息表示了所述第一位置文件对应的位置区域层级和时间层级;
-基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件,其中,该多个第二位置文件之间的时间层级或位置区域层级不同。
5.根据权利要求4所述的方法,其中,该方法还包括以下步骤:
-根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表,该时间用户统计表包含了多个用户在该时间用户统计表对应的时间范围内分别所在的位置区域;和/或
-根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表,该位置用户统计表包含了多个用户位于该位置用户统计表对应的位置区域范围时分别对应的时间信息。
6.根据权利要求5所述的方法,其中,该方法还包括以下步骤:
-根据来自网络的查询请求,确定时间条件和位置条件;
-根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表;
-根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量;
-将所述用户数量反馈给所述网络。
7.根据权利要求4至6中任一项所述的方法,其中,所述方法还包括以下步骤:
-根据预定时间条件,删除所有超时的第一位置文件或第二位置文件;以及
-更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件;
其中,所述相关文件包括以下至少一项:
-与被删除的第一位置文件或第二位置文件相关的第二位置文件;
-时间用户统计表;
-位置用户统计表;
-与被删除的第一位置文件或第二位置文件相关的索引文件。
8.一种在移动通信网络的OLTP节点中辅助进行OLAP分析的辅助装置,其中,所述移动通信网络包括OLTP节点和OLAP节点,该辅助装置包括以下装置:
第一发送装置,用于将基于来自用户的位置更新事件获得的位置更新信息发送给所述OLAP节点。
9.一种在移动通信网络的一个OLAP节点中进行OLAP分析的分析装置,其中,所述移动通信网络包括OLTP节点和多个OLAP节点,该分析装置包括以下装置:
第一获取装置,用于从接收到的用户的位置更新信息中获取用户识别信息;
存储装置,用于当根据所述用户识别信息确定所述用户属于该OLAP节点的服务范围时,将所述位置更新信息存储至近期位置记录表中,其中,当前时间点位于所述近期位置记录表所对应的时间范围内;
其中,该分析装置还包括以下装置:
触发装置,用于当到达所述时间范围的截止时间时,将一个新的近期位置记录表,作为所述近期位置记录表,以触发获取装置和存储装置重复执行操作。
10.根据权利要求9所述的分析装置,其中,该分析装置还包括以下装置:
第二发送装置,用于当根据所述用户识别信息确定所述用户属于另一个OLAP节点的服务范围时,将所述位置更新信息发送至所述另一个OLAP节点。
11.根据权利要求9或10所述的分析装置,其中,所述近期位置记录表包含多个位置区域标识、位于每个位置区域的用户的用户识别信息和用户位于该位置区域时的时间信息,该分析装置还包括以下装置:
第二获取装置,用于在达到所述时间范围的截止时间后,根据所述近期位置记录表,获得其包含的每个位置区域的第一位置文件,其中,所述第一位置文件包含位于该位置区域的每个用户的用户识别信息以及每个用户在该位置区域时的时间信息,所述位置区域和所述时间信息表示了所述第一位置文件对应的位置区域层级和时间层级;
第一融合装置,用于基于位置区域层级和/或时间层级的映射关系,根据所述第一位置文件,生成或更新所对应的时间层级或位置区域层级等于或高于所述第一位置文件对应的时间层级或位置区域层级的多个第二位置文件,其中,该多个第二位置文件之间的时间层级或位置区域层级不同。
12.根据权利要求11所述的分析装置,其中,该分析装置还包括以下装置:
第二融合装置,用于根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的时间层级上相同的时间用户统计表,该时间用户统计表包含了多个用户在该时间用户统计表对应的时间范围内分别所在的位置区域;和/或
第三融合装置,用于根据第一位置文件或第二位置文件,生成或更新与所述第一位置文件或第二位置文件在所对应的位置区域层级上相同的位置用户统计表,该位置用户统计表包含了多个用户位于该位置用户统计表对应的位置区域范围时分别对应的时间信息。
13.根据权利要求12所述的分析装置,其中,该分析装置还包括以下装置:
确定装置,用于根据来自网络的查询请求,确定时间条件和位置条件;
第三获取装置,用于根据所述时间条件和位置条件,获取至少一个时间用户统计表和/或位置用户统计表;
第四获取装置,用于根据所述至少一个时间用户统计表和/或位置用户统计表,获取满足所述时间条件和所述位置条件的用户数量;
第三发送装置,用于将所述用户数量反馈给所述网络。
14.根据权利要求11至13中任一项所述的分析装置,其中,所述分析装置还包括以下装置:
删除装置,用于根据预定时间条件,删除所有超时的第一位置文件或第二位置文件;以及
更新装置,用于更新与被删除的第一位置文件或第二位置文件相关的一个或多个相关文件;
其中,所述相关文件包括以下至少一项:
-与被删除的第一位置文件或第二位置文件相关的第二位置文件;
-时间用户统计表;
-位置用户统计表;
-与被删除的第一位置文件或第二位置文件相关的索引文件。
15.一种移动通信网络,包括如权利要求8所述的辅助装置,以及多个如权利要求9至14所述的分析装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410171886.6A CN105095224A (zh) | 2014-04-25 | 2014-04-25 | 一种在移动通信网络中进行olap分析的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410171886.6A CN105095224A (zh) | 2014-04-25 | 2014-04-25 | 一种在移动通信网络中进行olap分析的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095224A true CN105095224A (zh) | 2015-11-25 |
Family
ID=54575691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410171886.6A Pending CN105095224A (zh) | 2014-04-25 | 2014-04-25 | 一种在移动通信网络中进行olap分析的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095224A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354743A (zh) * | 2015-12-07 | 2016-02-24 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
CN106777027A (zh) * | 2016-12-08 | 2017-05-31 | 北京国电通网络技术有限公司 | 大规模并行处理行列混合数据存储装置及存储、查询方法 |
CN106897293A (zh) * | 2015-12-17 | 2017-06-27 | 中国移动通信集团公司 | 一种数据处理方法和装置 |
CN110874371A (zh) * | 2018-08-31 | 2020-03-10 | 杭州海康威视数字技术股份有限公司 | 一种数据分析系统、方法及装置 |
-
2014
- 2014-04-25 CN CN201410171886.6A patent/CN105095224A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354743A (zh) * | 2015-12-07 | 2016-02-24 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
CN106897293A (zh) * | 2015-12-17 | 2017-06-27 | 中国移动通信集团公司 | 一种数据处理方法和装置 |
CN106897293B (zh) * | 2015-12-17 | 2020-09-11 | 中国移动通信集团公司 | 一种数据处理方法和装置 |
CN106777027A (zh) * | 2016-12-08 | 2017-05-31 | 北京国电通网络技术有限公司 | 大规模并行处理行列混合数据存储装置及存储、查询方法 |
CN106777027B (zh) * | 2016-12-08 | 2021-03-09 | 北京中电普华信息技术有限公司 | 大规模并行处理行列混合数据存储装置及存储、查询方法 |
CN110874371A (zh) * | 2018-08-31 | 2020-03-10 | 杭州海康威视数字技术股份有限公司 | 一种数据分析系统、方法及装置 |
CN110874371B (zh) * | 2018-08-31 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种数据分析系统、方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2895893C (en) | Searchable data archive | |
CN104090889B (zh) | 数据处理方法及系统 | |
CN103838867A (zh) | 日志处理方法和装置 | |
CN102375853A (zh) | 分布式数据库系统、在其中建立索引的方法和查询方法 | |
CN102681999A (zh) | 一种用户行为信息收集及信息发送方法及装置 | |
CN104636477B (zh) | 一种信息推送前推送列表的去重方法 | |
CN101247271A (zh) | 性能数据的存储方法和装置 | |
CN102054000A (zh) | 数据查询方法、装置及系统 | |
CN110781184A (zh) | 数据表的构建方法、装置、设备及存储介质 | |
CN112035531B (zh) | 敏感数据处理方法、装置、设备及介质 | |
CN105095224A (zh) | 一种在移动通信网络中进行olap分析的方法、装置和系统 | |
CN102222112B (zh) | 资源管理装置和资源管理方法 | |
CN105227662A (zh) | 消息处理方法、装置和系统 | |
CN103853838A (zh) | 一种数据处理方法和装置 | |
CN108763323A (zh) | 基于资源集和大数据技术的气象格点文件应用方法 | |
CN110032578B (zh) | 一种海量数据查询缓存的方法及装置 | |
CN101924638A (zh) | 一种实时计费系统 | |
CN102724290B (zh) | 一种获取目标客户群的方法、设备及系统 | |
CN101729929B (zh) | 一种智能网业务库存取海量数据的系统、装置及方法 | |
CN103607731A (zh) | 一种测量报告的处理方法及装置 | |
CN101694661B (zh) | 一种统计报表生成方法、装置和统计服务器 | |
CN107277095B (zh) | 会话分割方法及装置 | |
CN101739410A (zh) | 运算结果展现的方法、装置和系统 | |
CN116595106A (zh) | 一种用户分群方法、设备及存储介质 | |
CN113037420B (zh) | 读时间戳的获取方法和装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151125 |