发明内容
本发明要解决的技术问题在于,针对现有技术的上述难以获知具体某个小范围区域的话单数据的缺陷,提供一种话单数据的分析方法,能够准确获知某个小范围区域的客户行为和客户感知分析数据。
本发明解决其技术问题所采用的技术方案是:构造一种话单数据的分析方法,包括:
S10、从呼叫历史记录中解析出多个话单数据,所述多个话单数据包括:用户的标识、用户起呼和/或用户结束通话对最近的至少三个基站的时延、用户起呼和/或用户结束通话时所述至少三个基站的位置区编码和小区识别码;
S20、将用户起呼和/或用户结束通话时最近的至少三个基站的位置区编码和小区识别码与网元表进行关联,得到采用经纬度表示的所述至少三个基站的坐标信息,其中,所述网元表预先存储有多个基站的位置区编码、小区识别码以及采用经纬度表示的基站的坐标信息;
S30、根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度以及步骤S20所确定的所述至少三个基站的坐标信息,确定用户起呼和/或用户结束通话时的位置信息,所述位置信息为采用经纬度表示的坐标信息;
S40、划分话单数据分析的地理范围,并按照指定的精度建立栅格,再根据步骤S30所确定的用户起呼和/或用户结束通话时的位置信息,建立用户起呼和/或用户结束通话时的栅格索引,并将用户起呼和/或用户结束通话时的栅格索引存入数据库;
S50、根据需要统计并分析一个或多个栅格的话单数据。
在本发明所述的话单数据的分析方法中,所述步骤S30包括:
S31、通过地图投影计算,将采用经纬度表示的所述至少三个基站的坐标信息分别转换为平面坐标;
S32、根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度、以及步骤S31所得到的所述至少三个基站的平面坐标,确定用户起呼和/或用户结束通话时位置的平面坐标;
S33、将所确定的用户起呼和/或用户结束通话时位置的平面坐标变换为采用经纬度表示的位置信息。
在本发明所述的话单数据的分析方法中,在所述步骤S40 中,建立用户起呼和/或用户结束通话时的栅格索引的步骤包括:
S41、根据所划分的地理范围的最小横坐标、最大横坐标和地理栅格的精度确定该地理范围在X方向建立的栅格总数;或者,根据所划分的地理范围的最小纵坐标、最大纵坐标和地理栅格的精度确定该地理范围在Y方向建立的栅格总数;
S42、根据所划分的地理范围的最小横坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的横坐标来确定用户起呼和/或用户结束通话时的位置在X方向上的栅格数;
S43、根据所划分的地理范围的最小纵坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的纵坐标来确定用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;
S44、根据该地理范围在X方向或Y方向建立的栅格总数、用户起呼和/或用户结束通话时的位置在X方向及Y方向上的栅格数来建立用户起呼和/或用户结束通话时的栅格索引。
在本发明所述的话单数据的分析方法中,在步骤S41中,根据公式1计算所划分的地理范围在X方向建立的栅格总数:
X_N=int((Xmax-Xmin)/Width)+1 公式1
其中,X_N为所划分的地理范围在X方向建立的栅格总数;int()表示取整;Xmax为所划分的地理范围最大横坐标;Xmin为所划分的地理范围最小横坐标;Width为地理栅格的精度;
根据公式2计算所划分的地理范围在Y方向建立的栅格总数:
Y_N=int((Ymax-Ymin)/Width)+1 公式2
其中,Y_N为所划分的地理范围在Y方向建立的栅格总数;Ymax为所划分的地理范围最大纵坐标;Ymin为所划分的地理范围最小纵坐标;
在步骤S42中,根据公式3计算用户起呼和/或用户结束通话时的位置在X方向上的栅格数:
nGI_X=unsigned int((dbX-Xmin)/width) 公式3
其中,nGI_X为用户起呼和/或用户结束通话时的位置在X方向上的栅格数;unsigned int()表示无符号型的取整;dbX为用户起呼和/或用户结束通话时的位置信息中的横坐标;
在步骤S43中,根据公式4计算用户起呼和/或用户结束通话时的位置在Y方向上的栅格数:
nGI_Y=unsigned int((dbY-Ymin)/width) 公式4
其中,nGI_Y为用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;dbY为用户起呼和/或用户结束通话时的位置信息中的纵坐标;
在步骤S44中,根据公式5或公式6建立用户起呼和/或用户结束通话时的栅格索引:
nGI=nGI_Y*X_N+nGI_X 公式5
nGI=nGI_X*Y_N+nGI_Y 公式6
其中,nGI为用户起呼和/或用户结束通话时的栅格索引。
在本发明所述的话单数据的分析方法中,在步骤S10,所述从呼叫历史记录中解析出多个话单数据的步骤之后,进一步包括下述步骤:
根据解析出的多个话单数据生成文本形式的逗号分隔值文件。
本发明还构造一种话单数据的分析装置,包括:
解析单元,用于从呼叫历史记录中解析出多个话单数据,所述多个话单数据包括:用户的标识、用户起呼和/或用户结束通话对最近的至少三个基站的时延、用户起呼和/或用户结束通话时所述至少三个基站的位置区编码和小区识别码;
基站坐标确定单元,用于将用户起呼和/或用户结束通话时最近的至少三个基站的位置区编码和小区识别码与网元表进行关联,得到采用经纬度表示的所述至少三个基站的坐标信息,其中,所述网元表预先存储有多个基站的位置区编码、小区识别码以及采用经纬度表示的基站的坐标信息;
用户位置确定单元,用于根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度以及所确定的所述至少三个基站的坐标信息,确定用户起呼和/或用户结束通话时的位置信息,所述位置信息为采用经纬度表示的坐标信息;
栅格索引确定单元,用于划分话单数据分析的地理范围,并按照指定的精度建立栅格,再根据所确定的用户起呼和/或用户结束通话时的位置信息,建立用户起呼和/或用户结束通话时的栅格索引,并将用户起呼和/或用户结束通话时的栅格索引存入数据库;
统计分析单元,用于根据需要统计并分析一个或多个栅格的话单数据。
在本发明所述的话单数据的分析装置中,所述用户位置确定单元包括:
第一转换模块,用于通过地图投影计算,将采用经纬度表示的所述至少三个基站的坐标信息分别转换为平面坐标;
位置确定模块,用于根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度、以及所述至少三个基站的平面坐标,确定用户起呼和/或用户结束通话时位置的平面坐标;
第二转换模块,用于将所确定的用户起呼和/或用户结束通话时位置的平面坐标变换为采用经纬度表示的位置信息。
在本发明所述的话单数据的分析装置中,所述栅格索引确定单元包括:
X或Y方向总数确定模块,用于根据所划分的地理范围的最小横坐标、最大横坐标和地理栅格的精度确定该地理范围在X方向建立的栅格总数;或者,用于根据所划分的地理范围的最小纵坐标、最大纵坐标和地理栅格的精度确定该地理范围在Y方向建立的栅格总数;
X方向数目确定模块,用于根据所划分的地理范围的最小横坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的横坐标来确定用户起呼和/或用户结束通话时的位置在X方向上的栅格数;
Y方向数目确定模块,用于根据所划分的地理范围的最小纵坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的纵坐标来确定用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;
索引确定模块,用于根据该地理范围在X方向或Y方向建立的栅格总数、用户起呼和/或用户结束通话时的位置在X方向及Y方向上的栅格数来建立用户起呼和/或用户结束通话时的栅格索引。
在本发明所述的话单数据的分析装置中,所述X或Y方向总数确定模块根据公式1计算所划分的地理范围在X方向建立的栅格总数:
X_N=int((Xmax-Xmin)/Width)+1 公式1
其中,X_N为所划分的地理范围在X方向建立的栅格总数;int()表示取整;Xmax为所划分的地理范围最大横坐标;Xmin为所划分的地理范围最小横坐标;Width为地理栅格的精度;或者,根据公式2计算所划分的地理范围在Y方向建立的栅格总数:
Y_N=int((Ymax-Ymin)/Width)+1 公式2
其中,Y_N为所划分的地理范围在Y方向建立的栅格总数;Ymax为所划分的地理范围最大纵坐标;Ymin为所划分的地理范围最小纵坐标;
所述X方向数目确定模块根据公式3计算用户起呼和/或用户结束通话时的位置在X方向上的栅格数:
nGI_X=unsigned int((dbX-Xmin)/width) 公式3
其中,nGI_X为用户起呼和/或用户结束通话时的位置在X方向上的栅格数;unsigned int()表示无符号型的取整;dbX为用户起呼和/或用户结束通话时的位置信息中的横坐标;
所述Y方向数目确定模块根据公式4计算用户起呼和/或用户结束通话时的位置在Y方向上的栅格数:
nGI_Y=unsigned int((dbY-Ymin)/width) 公式4
其中,nGI_Y为用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;dbY为用户起呼和/或用户结束通话时的位置信息中的纵坐标;
所述索引确定模块根据公式5或公式6建立用户起呼和/或用户结束通话时的栅格索引:
nGI=nGI_Y*X_N+nGI_X 公式5
nGI=nGI_X*Y_N+nGI_Y 公式6
其中,nGI为用户起呼和/或用户结束通话时的栅格索引。
在本发明所述的话单数据的分析装置中,所述装置包括:
文件生成单元,用于根据解析出的多个话单数据生成文本形式的逗号分隔值文件。
实施本发明的技术方案,能够准确获知某个小范围区域的话单数据。
具体实施方式
在图2所示的本发明话单数据的分析方法实施一的流程图中,该话单数据的分析方法包括:
S10、从呼叫历史记录(Call history record,CHR)中解析出多个话单数据,所述多个话单数据分别包括:用户的标识、用户起呼和/或用户结束通话对最近的至少三个基站的时延、用户起呼和/或用户结束通话时所述至少三个基站的LAC和CI。在该步骤中,从呼叫历史记录中获取多个话单数据,优选生成数据格式简单、可扩展且方便后续分析的逗号分隔值(Comma-Separated Values,CSV)文件。该CSV文件的第一行是各个字段的名称,之后是各个字段的名称对应的记录的数值。其中,话单数据包括用户的标识、用户起呼与最近几个基站的时延、用户结束通话与最近几个基站的时延、最近几个基站的LAC和CI等,因此生成的CSV文件的第一行的字段的名称至少包括以下名称:标识用户的标识、标识用户起呼和/或用户结束通话与最近几个基站的时延的名称、标识基站的LAC和CI的名称等。当然,为了话单数据分析的需要,还可以包括其他的字段的名称,比如标识通话时长的字段名称、标识上网流量的字段名称、标识是否正常结束通话的字段名称等,这样,根据话单数据中的通话时长就可以分析出一段时间内满足一定通话时长的用户信息;
S20、将用户起呼和/或用户结束通话时最近的至少三个基站的位置区编码和小区识别码与网元表进行关联,得到采用经纬度表示的所述至少三个基站的坐标信息,其中,所述网元表预先存储有多个基站的位置区编码、小区识别码以及采用经纬度表示的基站的坐标信息;
S30、根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度以及步骤S20所确定的所述至少三个基站的坐标信息,确定用户起呼和/或用户结束通话时的位置信息,所述位置信息为采用经纬度表示的坐标信息;
S40、划分话单数据分析的地理范围,并按照指定的精度建立栅格,再根据步骤S30所确定的用户起呼和/或用户结束通话时的位置信息,建立用户起呼和/或用户结束通话时的栅格索引,并将用户起呼和/或用户结束通话时的栅格索引存入数据库;
S50、根据需要统计并分析一个或多个栅格的话单数据,在该步骤中,可以按照数据库标准查询语言对栅格索引值进行汇总、统计和排序等操作,比如,结合确定的用户起呼和/或用户结束通话时的位置就能获知一个栅格内有多少个用户在通话,进而找到通话忙碌和空闲的地区。
图3是图2中步骤S30优选实施例的流程图,在该优选实施例中,步骤S30包括:
S31、通过地图投影计算,将采用经纬度表示的所述至少三个基站的坐标信息分别转换为平面坐标。在该步骤中,基站平面坐标采用基站所在的地球表面到赤道的距离和基站到本初子午线的距离来表示,距离的单位可都采用米;
S32、根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度、以及步骤S31所得到的所述至少三个基站的平面坐标,确定用户起呼和/或用户结束通话时位置的平面坐标。在该步骤中,结合图4,与B用户最近的三个基站为:a基站、b基站、c基站,已知a基站、b基站、c基站的坐标分别为(a1,a2)、(b1,b2)、(c1,c2),无线电信号的传输速度为v,B用户的用户起呼和/或用户结束通话到a基站的时延为t1,B用户的用户起呼和/或用户结束通话到c基站的时延为t2,B用户的用户起呼和/或用户结束通话到b基站的时延为t3,且t1>t2,t2>t3,假设B用户的坐标为(x,y),B用户到a基站的距离为aB米,B用户到b基站的距离为bB米,B用户到c基站的距离为cB米,则可建立以下方程组:
通过对以上方程组求解,可计算出x、y的值,也即可确定B用户的坐标;
S33、将所确定的用户起呼和/或用户结束通话时位置的平面坐标变换为采用经纬度表示的位置信息。
图5是图2中步骤S40优选实施例的流程图,在该实施例中,在划分好话单数据分析的地理范围(通常取行政地图的边界),并且指定了地理栅格的精度(例如50米*50米)后,下面结合图6说明如何建立用户起呼和/或用户结束通话时的栅格索引:
S41、根据所划分的地理范围的最小横坐标、最大横坐标和地理栅格的精度确定该地理范围在X方向建立的栅格总数,或者,根据所划分的地理范围的最小纵坐标、最大纵坐标和地理栅格的精度确定该地理范围在Y方向建立的栅格总数。例如,可根据公式1计算所划分的地理范围在X方向建立的栅格总数,可根据公式2计算所划分的地理范围在Y方向建立的栅格总数:
X_N=int((Xmax-Xmin)/Width)+1 公式1
Y_N=int((Ymax-Ymin)/Width)+1 公式2
其中,X_N为所划分的地理范围在X方向建立的栅格总数;int()表示对括号内的计算结果取整;Xmax为所划分的地理范围最大横坐标;Xmin为所划分的地理范围最小横坐标;Width为地理栅格的精度;Y_N为所划分的地理范围在Y方向建立的栅格总数;Ymax为所划分的地理范围最大纵坐标;Ymin为所划分的地理范围最小纵坐标;
S42、根据所划分的地理范围的最小横坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的横坐标来确定用户起呼和/或用户结束通话时的位置在X方向上的栅格数,例如,可根据公式3计算用户起呼和/或用户结束通话时的位置在X方向上的栅格数:
nGI_X=unsigned int((dbX-Xmin)/width) 公式3
其中,nGI_X为用户起呼和/或用户结束通话时的位置在X方向上的栅格数;unsigned int()为无符号型的取整;dbX为用户起呼和/或用户结束通话时的位置信息中的横坐标;
S43、根据所划分的地理范围的最小纵坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的纵坐标来确定用户起呼和/或用户结束通话时的位置在Y方向上的栅格数,例如,可根据公式4计算用户起呼和/或用户结束通话时的位置在Y方向上的栅格数:
nGI_Y=unsigned int((dbY-Ymin)/width) 公式4
其中,nGI_Y为用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;dbY为用户起呼和/或用户结束通话时的位置信息中的纵坐标;
S44、根据该地理范围在X方向或Y方向建立的栅格总数、用户起呼和/或用户结束通话时的位置在X方向及Y方向上的栅格数来建立用户起呼和/或用户结束通话时的栅格索引,例如,可根据公式5或公式6建立用户起呼和/或用户结束通话时的栅格索引:
nGI=nGI_Y*X_N+nGI_X 公式5
nGI=nGI_X*Y_N+nGI_Y 公式6
其中,nGI为用户起呼和/或用户结束通话时的栅格索引。
图7是本发明话单数据的分析装置实施一的逻辑图,该话单数据的分析装置包括依次连接的解析单元10、基站坐标确定单元20、用户位置确定单元30、栅格索引确定单元40和统计分析单元50。其中,解析单元10用于从呼叫历史记录中解析出多个话单数据,所述多个话单数据包括:用户的标识、用户起呼和/或用户结束通话对最近的至少三个基站的时延、用户起呼和/或用户结束通话时所述至少三个基站的位置区编码和小区识别码。基站坐标确定单元20用于将用户起呼和/或用户结束通话时所述最近的至少三个基站的位置区编码和小区识别码与网元表进行关联,得到采用经纬度表示的所述至少三个基站的坐标信息,其中,所述网元表预先存储有多个基站的位置区编码、小区识别码以及采用经纬度表示的基站的坐标信息。用户位置确定单元30用于根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度以及所确定的所述至少三个基站的坐标信息,确定用户起呼和/或用户结束通话时的位置信息,所述位置信息为采用经纬度表示的坐标信息。栅格索引确定单元40用于划分话单数据分析的地理范围,并按照指定的精度建立栅格,再根据所确定的用户起呼和/或用户结束通话时的位置信息,建立用户起呼和/或用户结束通话时的栅格索引,并将用户起呼和/或用户结束通话时的栅格索引存入数据库。统计分析单元50用于根据需要统计并分析一个或多个栅格的话单数据。另外,优选地,话单数据的分析装置还可包括:文件生成单元,用于根据解析出的多个话单数据生成文本形式的逗号分隔值文件。
在本发明话单数据的分析装置的一个优选实施例中,用户位置确定单元包括:第一转换模块、位置确定模块和第二转换模块。其中,第一转换模块用于通过地图投影计算,将采用经纬度表示的所述至少三个基站的坐标信息分别转换为平面坐标。位置确定模块用于根据用户起呼和/或用户结束通话对最近的至少三个基站的时延、无线电信号的传输速度、以及所述至少三个基站的平面坐标,确定用户起呼和/或用户结束通话时位置的平面坐标。第二转换模块,用于将所确定的用户起呼和/或用户结束通话时位置的平面坐标变换为采用经纬度表示的位置信息。
在本发明话单数据的分析装置的一个优选实施例中,栅格索引确定单元包括:X或Y方向总数确定模块、X方向数目确定模块、Y方向数目确定模块和索引确定模块。其中,X或Y方向总数确定模块,用于根据所划分的地理范围的最小横坐标、最大横坐标和地理栅格的精度确定该地理范围在X方向建立的栅格总数;或者,用于根据所划分的地理范围的最小纵坐标、最大纵坐标和地理栅格的精度确定该地理范围在Y方向建立的栅格总数。X方向数目确定模块用于根据所划分的地理范围的最小横坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的横坐标来确定用户起呼和/或用户结束通话时的位置在X方向上的栅格数。Y方向数目确定模块用于根据所划分的地理范围的最小纵坐标、地理栅格的精度和用户起呼和/或用户结束通话时的位置信息中的纵坐标来确定用户起呼和/或用户结束通话时的位置在Y方向上的栅格数。索引确定模块用于根据该地理范围在X方向或Y方向建立的栅格总数、用户起呼和/或用户结束通话时的位置在X方向及Y方向上的栅格数来建立用户起呼和/或用户结束通话时的栅格索引。
在本发明的再一个优选实施例中,X或Y方向总数确定模块可根据公式1计算所划分的地理范围在X方向建立的栅格总数,或者,根据公式2计算所划分的地理范围在Y方向建立的栅格总数;X方向数目确定模块根据公式3计算用户起呼和/或用户结束通话时的位置在X方向上的栅格数;Y方向数目确定模块根据公式4计算用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;索引确定模块根据公式5或公式6建立用户起呼和/或用户结束通话时的栅格索引。其中,
X_N=int((Xmax-Xmin)/Width)+1 公式1
Y_N=int((Ymax-Ymin)/Width)+1 公式2
nGI_X=unsigned int((dbX-Xmin)/width) 公式3
nGI_Y=unsigned int((dbY-Ymin)/width) 公式4
nGI=nGI_Y*X_N+nGI_X 公式5
nGI=nGI_X*Y_N+nGI_Y 公式6
其中,X_N为所划分的地理范围在X方向建立的栅格总数;int()表示对括号内的计算结果取整;Xmax为所划分的地理范围最大横坐标;Xmin为所划分的地理范围最小横坐标;Width为地理栅格的精度;Y_N为所划分的地理范围在Y方向建立的栅格总数;Ymax为所划分的地理范围最大纵坐标;Ymin为所划分的地理范围最小纵坐标;nGI_X为用户起呼和/或用户结束通话时的位置在X方向上的栅格数;unsigned int()表示无符号型的取整;dbX为用户起呼和/或用户结束通话时的位置信息中的横坐标;nGI_Y为用户起呼和/或用户结束通话时的位置在Y方向上的栅格数;dbY为用户起呼和/或用户结束通话时的位置信息中的纵坐标;nGI为用户起呼和/或用户结束通话时的栅格索引。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。