数据处理方法、装置及系统与流程

文档序号:12597624阅读:244来源:国知局
数据处理方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种数据处理方法、装置及系统。



背景技术:

移动互联网给运营商带来机遇的同时也带来了挑战,而信令作为通信网络最基本,也是最关键的组成部分,反映着网络质量与业务提供的方方面面,所以运营商不惜巨资建设信令监测平台,用其服务于话务跟踪、网规网优、故障诊断等面对生产的功能域。如何提供高可用性的信令跟踪平台是当务之急。

随着数据收集手段的不断丰富及完善,越来越多的行业数据被积累下来。数据规模已经增长到了传统软件行业无法承载的大数据(例如,100GB、TB、PB)级别。在大数据场景下,大数据的存储则成为了急需解决的问题。

目前,可以采用关系型数据库来存储大数据,例如,将具有关联关系的多个数据分别存储在不同数据库的不同数据表中,并记录各个不同数据库中存储的数据之间的关系,以便将各个数据关联起来。而实际测试数据表明,例如,向SQL Server数据库中插入数据,常用的办法是由应用程序直接(或间接)使用插入(Insert)的结构化查询语句(Structured Query Language,简称为SQL)进行插入,这种方法速度太慢,经测试其速度最快(当原始表为空表时)也仅仅是1000条记录每秒。对于先保存为文件、再批量导入到数据库来提供检索的方法,例如,SQL Server中的批量插入(Bulk Insert),以用户指定的格式复制一个数据文件至数据库表或视图中,经过测试该种方法速度虽比使用插入(Insert)语句快,大约60000条记录每秒,插入数据的速度提高了60倍,但是生成这些用于导入的指定格式的数据文件也有时间开销,实际的记录入库速度减半。

此外,同时利用关联关系将各个数据存储到不同数据库的不同数据表中的方法,数据存储方式松散,其关联关系必须通过关系型数据库来体现。对于大数据的存储,这种松散存储数据及利用关联关系记录不同数据表中数据的方法,会大大降低数据存储的效率,并会进一步降低后续查找和维护的效率。

针对相关技术中信令存储效率较低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种数据处理方法、装置及系统,以至少解决相关技术中信令存储效率较低的问题。

根据本发明的一个方面,提供了一种数据处理方法,包括:采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;获取上述用户的唯一关键字;以及根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中。

进一步地,采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令包括:以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S5接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

进一步地,获取上述用户的唯一关键字包括:获取上述用户的识别码,其中,上述识别码包括国际移动用户识别码IMSI或移动用户综合业务数字网号码MSISDN;对上述识别码进行哈希运算,得到上述唯一关键字。

进一步地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之前,上述方法还包括:根据时间在上述数据存储服务器中生成多级目录。

进一步地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之后,上述方法包括:检测上述多级目录中是否存在超过预设时间的目录;以及在检测出上述多级目录中存在超过上述预设时间的目录时,将超过上述预设时间的目录从上述数据存储服务器中删除。

进一步地,根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中包括:根据上述唯一关键字查找上述用户对应的数据存储服务器;以及将上述信令存储至上述用户对应的数据存储服务器的多级目录中。

进一步地,将上述信令存储至上述用户对应的数据存储服务器的多级目录中包括:获取业务消息的时间戳;根据上述时间戳和上述唯一关键字生成第一标识符;获取上述第一标识符对应的写入器,其中,上述写入器和上述多级目录一一对应;以及通过上述写入器将上述信令写入至其对应的目录中。

进一步地,上述数据存储服务器包括内存库和文件服务器,其中,上述内存库用于存储上述信令的概要信息,上述文件服务器用于存储上述信令的文件信息,上述概要信息和上述文件信息之间存在映射关系。

进一步地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之后,上述方法还包括:接收查询指令,其中,上述查询指令包括过滤条件和上述唯一关键字;查找上述唯一关键字对应的数据存储服务器;以及根据上述过滤条件从上述唯一关键字对应的数据存储服务器中查询数据。

进一步地,根据上述过滤条件从上述唯一关键字对应的数据存储服务器中查询数据包括:根据上述过滤条件遍历上述唯一关键字对应的数据存储服务器的多级目录;从上 述唯一关键字对应的数据存储服务器的多级目录中获取满足上述过滤条件的数据,得到查询结果;判断上述查询结果的数据行数是否超过预设值;以及在判断出上述查询结果的数据行数超过上述预设值时,分批次显示上述查询结果。

根据本发明的另一方面,提供了一种数据处理装置,包括:采集模块,用于采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;获取模块,用于获取上述用户的唯一关键字;以及存储模块,用于根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中。

进一步地,上述采集模块包括:信令采集器,以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S5接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

进一步地,上述获取模块包括:获取单元,用于获取上述用户的识别码,其中,上述识别码包括国际移动用户识别码IMSI或移动用户综合业务数字网号码MSISDN;运算单元,用于对上述识别码进行哈希运算,得到上述唯一关键字。

进一步地,上述装置还包括:生成模块,用于根据时间在上述数据存储服务器中生成多级目录。

进一步地,上述存储模块包括:查找单元,用于根据上述唯一关键字查找上述用户对应的数据存储服务器;以及存储单元,用于将上述信令存储至上述用户对应的数据存储服务器的多级目录中。

根据本发明的又一方面,提供了一种数据处理系统,包括:数据采集服务器,用于采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;以及数据存储服务器,连接至上述数据采集模块,其中,上述数据存储服务器包括多级目录,上述多级目录用于存储上述信令。

进一步地,上述数据存储服务器包括内存库和文件服务器,其中,上述内存库用于存储上述信令的概要信息,上述文件服务器用于存储上述信令的文件信息,上述概要信息和上述文件信息之间存在映射关系。

进一步地,上述数据采集服务器包括探针信令采集器,上述探针信令采集器以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S5接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

进一步地,上述数据采集服务器还包括处理模块,连接至上述探针信令采集器,用于对上述探针信令采集器采集的信令进行解析得到上述概要信息和上述文件信息,并将上述概要信息和上述文件信息分别发送至上述内存库和上述文件服务器。

进一步地,上述数据处理系统还包括:查询服务器,连接至上述数据存储服务器,用于从上述数据存储服务器查询上述信令。

通过本发明,采用采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;获取上述用户的唯一关键字;以及根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中,解决了相关技术中信令存储效率较低的问题,进而达到了提高信令存储效率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的数据处理方法的流程图;

图2是根据本发明实施例的多级目录的示意图;

图3是根据本发明实施例的内存库写入数据的流程图;

图4是根据本发明实施例的内存库检索数据流程示意图;

图5是根据本发明实施例的内存库检索信息层次示意图;

图6是根据本发明实施例的数据处理装置的结构框图;

图7是根据本发明实施例的数据处理系统的结构框图;以及

图8是根据本发明实施例的内存库检索数据系统部署示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种数据处理方法,图1是根据本发明实施例的数据处理方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令.

本发明实施例可以通过监测网关通用分组无线业务支持节点(Gateway General Packet Radio Service Supporting Node,简称为GGSN)或公共数据网网关(Public Data Network Gateway,简称为PGW)的各个接口采集用户的信令,其中,用户可以是一个,也可以是多个。优选地,为了保证GGSN或PGW的各个接口正常工作,采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令包括:以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S5接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

例如,可以通过探针信令采集器以光口镜像的方式连接到GGSN或PGW的各个接口,从而可以实时采集GGSN或PGW的各个接口的信令。本发明实施例通过光口镜像的方式采集GGSN或PGW的接口的信令,可以避免在采集GGSN或PGW的接口的信令的过程中影响GGSN或PGW的接口的正常工作。

步骤S104,获取上述用户的唯一关键字;

由于网元中存在大量的用户,在采集用户的信令时,为了便于对每个用户的信令进行区分,本发明实施例中每个用户均对应于一个唯一关键字,通过该唯一关键字对用户进行唯一标识。优选地,获取上述用户的唯一关键字包括:获取上述用户的识别码,其中,上述识别码包括国际移动用户识别码(International Mobie Subscriber Identity,简称为IMSI)或移动用户综合业务数字网号码(Mobie Subscriber International Integranted Services Digital/Public Switched Telephone Network Number,简称为MSISDN);对上述识别码进行哈希运算,得到上述唯一关键字。

在网元中的每个用户均有对应的国际移动用户识别码IMSI或移动用户综合业务数字网号码MSISDN,通过对用户对应的IMSI或MSISDN进行哈希运算得到哈希值,并将该哈希值作为上述唯一关键字,便于后续每个用户信令的快速存储和快速查找。

步骤S106,根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中。

本发明实施例可以预先在数据存储服务器中创建多级目录,也可以是在将上述信令存储至数据存储服务器的过程中在数据存储服务器中动态的生成多级目录,具体的,本发明实施例将用户的信令存储至数据存储服务器的多级目录中的文件中,例如,根据唯一关键字命名的文件中。优选地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之前,上述方法还包括:根据时间在上述数据存储服务器中生成多级目录。

例如,按照年、月、日、小时、分钟生成树型多级目录,其中,年为根目录,分钟为叶子目录,图2是根据本发明实施例的多级目录的示意图,如图2所示,依次根据年、月、日、小时、分钟生成多级目录,将用户信令按照时间存储至对应的目录中,例如,信令1是在2014年12月30日12点20分采集的,可以将信令1存储在图2所示的20分目录中根据唯一关键字命名的文件中,信令2是在2014年12月30日12点22分采集,可以将信令2存储于22分目录中根据唯一关键字命名的文件中(图2中未示出)。 需要说明的是,本发明实施例可以根据数据量的多少来决定多级目录的级数,例如,数据量少时,可以采用小时作为叶子目录,即为4级目录,数据量较大时,可以采用分钟作为叶子目录,即为5级目录。

通过上述步骤,根据唯一关键字将用户的信令存储至数据存储服务器的多级目录中,相比于现有技术中将用户的信令存储于数据库中,存储速度更快,解决了相关技术中信令存储效率较低的问题,进而达到了提高信令存储效率的效果。

优选地,为了减少内存资源的占用,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之后,上述方法包括:检测上述多级目录中是否存在超过预设时间的目录;以及在检测出上述多级目录中存在超过上述预设时间的目录时,将超过上述预设时间的目录从上述数据存储服务器中删除。

由于网元中用户的信令具有较强的实时性,对网元用户进行监控时,通常只需分析最近一段时间的用户信令。本发明实施例在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之后,可以删除那些存储时间较长的用户信令,一方面可以节省内存的占用,另一方面也利于用户信令的快速检索。上述预设时间可以根据实际情况进行设置,例如,将预设天数设置为7天,可以将超过预设时间的目录直接从数据存储服务器中删除。例如,可以每天检查1次是否有超过7天的目录,若存在就按时间删除目录,而不必检查文件内容。

优选地,根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中包括:根据上述唯一关键字查找上述用户对应的数据存储服务器;以及将上述信令存储至上述用户对应的数据存储服务器的多级目录中。

由于网元中存在大量的用户,为了便于快速存储用户的信令到该用户对应的数据存储服务器中,可以预先将用户的唯一关键字和其对应的数据存储服务器进行关联,通过用户的唯一关键字即可查找到该用户对应的数据存储服务器,并将用户的信令均存储于该用户对应的数据存储服务器的多级目录中,从而便于后续实现对用户信令的快速检索。

优选地,将上述信令存储至上述用户对应的数据存储服务器的多级目录中包括:获取业务消息的时间戳;根据上述时间戳和上述唯一关键字生成第一标识符;获取上述第一标识符对应的写入器,其中,上述写入器和上述多级目录一一对应;以及通过上述写入器将上述信令写入至其对应的目录中。

业务消息即用户的信令,根据时间戳和唯一关键字生成第一标识符,第一标识符用于写入器的查找,找到第一标识符对应的写入器后,即利用写入器写入到对应的内存文件中(即多级目录中存放的文件)。由于第一标识符使用了时间戳,这样不必使用定时器就可以实现定时1秒写入的功能,例如满1秒时第一标识符必然不同,会创建新的写入器,在实时要求高的情况下要保证1秒会强制写入一次文件,无论缓存是否满,没有使用定时器,却能达到定时写入的作用。

优选地,上述数据存储服务器包括内存库和文件服务器,其中,上述内存库用于存储上述信令的概要信息,上述文件服务器用于存储上述信令的文件信息,上述概要信息和上述文件信息之间存在映射关系。

本发明实施例采用分布式存储方法,将信令的概要信息和信令的文件信息分别存储于内存库和文件服务器中。具体的,通过将信令进行解析可以得到信令的概要信息和信令的文件信息,其中,信令的概要信息包括信令文件的统一资源定位符(Uniform Resource Locator,简称为URL)信息和媒体文件的统一资源定位符URL信息,信令的文件信息则包括详细的信令文件和媒体文件,本发明实施例通过信令文件的URL信息即可以得到对应的信令文件,通过媒体文件的URL信息即可以得到对应的媒体文件,因此,在检索过程中,仅需从内存库中检索信令的概要信息既可以得到其对应的文件信息。

优选地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之后,上述方法还包括:接收查询指令,其中,上述查询指令包括过滤条件和上述唯一关键字;查找上述唯一关键字对应的数据存储服务器;以及根据上述过滤条件从上述唯一关键字对应的数据存储服务器中查询数据。

在将上述信令存储至数据存储服务器的多级目录中之后,可以对数据存储服务器中存储的用户信令进行查询,本发明实施例通过在查询指令中包括唯一关键字,从而可以根据唯一关键字快速地从数据存储服务器检索到该用户的信令。

优选地,根据上述过滤条件从上述唯一关键字对应的数据存储服务器中查询数据包括:根据上述过滤条件遍历上述唯一关键字对应的数据存储服务器的多级目录;从上述唯一关键字对应的数据存储服务器的多级目录中获取满足上述过滤条件的数据,得到查询结果;判断上述查询结果的数据行数是否超过预设值;以及在判断出上述查询结果的数据行数超过上述预设值时,分批次显示上述查询结果。

为了提高信令检索的效率,本发明实施例可以根据用户查询习惯(例如,用户每次要看的最大数据行数)来减轻服务器的检索深度。具体地,可以设置每次显示的查询结果的行数,在查询结果大于预设的行数时(即预设值),则分批次显示上述查询结果。

本发明实施例不采用任何商用数据库,来实现海量的数据的快速存储和查询,而是采用一种树型的存储结构,将用户信令存储于内存库中,其数据文件格式可配置,例如,采用TLV(即包括类型、长度、值三个字段的数据格式)来描述,同时可以通过可扩展标记语言(Extensible Markup Language,简称为XML)文件来定义相关的数据字典,在存储和查询时作为数据处理的依据。配置了不同用户信令的唯一性关键字KEY1,唯一性关键字KEY1用于文件生成时的文件名,以及查询时匹配对应的内存库DS SERVER。文件生成时,用户可以根据数据量的多少来决定采用小时作为叶子目录,还是以分钟作为叶子目录来保存,大数据情况下需要配置为以分钟作为叶子目录来保存。具体地,本发明实施例采用分布式组网架构,即在网络中部署多个信令采集模块AGNENT和内存 库DS SERVER。多个信令采集模块AGNENT和多个内存库DS SERVER之间通过MSISDN取哈希值作为唯一关键字KEY1进行关联,查询服务器WEB SERVER的查询请求与内存库DS SERVER之间的转发关系也是通过查询条件中的唯一关键字KEY1的哈希值进行关联,各个并行处理节点共同分担处理GGSN或PGW网元抓取的协议包。

图3是根据本发明实施例的内存库写入数据的流程图。如图3所示,往内存库中写入数据(相当于将信令存储至数据存储服务器的多级目录中)包括如下步骤:

步骤S301,信令采集模块构建TLV记录,按MSISDN取哈希作为唯一关键字KEY1发送到得到对应内存库,并将此KEY1加入到TLV记录中。

信令采集模块AGENT采集信令,并对信令进行解析处理,例如,构建TLV记录,其中,TLV是指包括类型、长度和值三个字段的数据格式,将MSISDN取哈希作为唯一关键字KEY1发送到得到对应内存库,并将此KEY1加入到TLV记录中。

步骤S302,内存库接收到TLV记录,构建第一标识符KEY2,KEY2为KEY1和业务消息的时间戳的秒格式,或者小时格式。

通过上述方式可以不需要定时,满1秒或1小时时KEY2必然不同,会创建新的写入器,在实时要求高的情况下保证1秒会强制写入一次文件,无论缓存是否满。

步骤S303,查找KEY2对应的写入器是否成功,成功则执行步骤S306,失败则执行步骤KS304。

步骤S304,意味刷新时间到或新的MSISDN加入,需要批量(256个写入器为一批)关闭下当前的写入器,关闭时会强制从缓存写入内存盘。

具体地,当查找不到KEY2对应的写入器时,则表示刷新时间到或存在新的MSISDN加入,此时,需要关闭当前的写入器。

步骤S305,创建KEY2对应的写入器,写入器会在当前系统对应的分钟值或者小时值的叶子目录中创建新的文件。

创建写入器会创建对应的时间叶子目录和文件,以及缓存,写入器先入缓存,通常缓存满才写入文件,文件存放在内存虚拟盘中。需要说明的是,同一个MSISDN的数据文件名相同,不同时间目录下会有相同文件名的数据文件。

步骤S306,写入到对应写入器的缓存。

步骤S307,判断写入器的缓存是否已满,如果写入器的缓存已满则执行步骤S308,如果写入器的缓存未满则执行步骤S301,进行下一条数据的处理。

步骤S308,写入器缓存数据写入文件,完毕执行步骤S301。

图4是根据本发明实施例的内存库检索数据流程示意图,如图4所示,从内存库检 索数据(相当于上述实施例中从数据存储服务器中查询数据)包括如下步骤:

步骤S401,查询服务器WEB SERVER接受用户的查询请求,根据KEY1找到对应的内存库DS SERVER。

需要说明的是,TLV数据由CHRMAP来定义数据字典;PATCHMAP定义TLV数据的关键信息,例如,KEY1的索引;FILTERMAP定义了全部过滤条件。

步骤S402,内存库DS SERVER接收查询服务器的查询请求,找到根据KEY1,开始时间STARTTIME,结束时间ENDTIME,以及其他业务字段过滤值,构造过滤器FILTERMAP发起查询请求。

步骤S403,判断时间类型是小时还是分钟。如果判断出时间类型为小时则执行步骤S404,如果判断出时间类型为分钟则执行步骤S405。

步骤S404,根据STARTTIME和ENDTIME遍历时间范围内的分钟目录,搜索深度为5级:年/月/日/小时/分钟/,获取第5级目录的URL列表,并执行步骤S406。

步骤S405,根据STARTTIME和ENDTIME遍历时间范围内的小时目录,搜索深度为4级:年/月/日/小时/,获取第4级目录的URL列表,并执行步骤S406。

步骤S406,遍历时间目录的同一资源定位符URL列表,判断目录下KEY1.il文件是否存在,如果不存在则执行步骤S406继续遍历,如果存在则执行步骤S407。

具体地,一个目录下文件很多,故只按保存符合条件的目录列表。由于查询时KEY1是指定的,故文件名是固定的,这样不必获取文件列表,而只用判断各个文件目录下KEY1.il文件是否存在。

步骤S407,逐行处理文件,对各行数据根据设置的过滤器FILTERMAP过滤,只缓存有效的结果数据。

步骤S408,判断查询结果队列是否超过预设的结果行数,如果未超过则执行步骤S409,超过则执行步骤S411,查询结束。

步骤S409,判断是否到文件尾部,如果未到文件尾部则执行步骤S407,如果到文件尾部则执行步骤S410。

步骤S410,判断是否到目录列表尾部,如果未到列表尾部则执行步骤S406取下一个时间目录处理,到目录列表尾部则直接执行步骤S411,查询结束。

步骤S411,将结果按开始时间排序,并分包发送查询结果到查询服务器WEB SERVER。

图5是根据本发明实施例的内存库检索信息层次示意图。本发明实施例提供了一种树型的存储结构,信令跟踪涉及到很多媒体文件、信令文件等,本发明实施例的内存库 中保存的是这些信息的概要,是最上层的数据,也是存储和查询最快的数据。概要信息中可以看到一个业务流程中涉及的信令和媒体文件的URL信息,客户端对信令流程的展现只用将内存库中保存的信息和对应URL的文件内容关联就可以了。大量的媒体文件和信令文件也是按分钟为叶子节点分开的目录结构下保存,和内存库处理相同,而内存库记录实现了这些文件和信令流程的管理处理。

本方明实施例的分布式大数据快速存储策略,能根据用户的配置提供不同的响应速度,均匀分担网络业务量,提高系统处理能力和可靠性,如采用Intel DPDK流处理框架进行数据采集,采用内存盘技术,和分布式大数据存储查询系统,解决大量数据文件的生成,和及时查询之间的矛盾,提供了10万条每秒的数据实时插入的能力和实时的快速查询的能力。同时能适应在大数据量的业务需求下,网元并行分担整个网络业务负载,提高网络的业务处理性能。同时,在某个网元通信链路出现中断或故障时,分布式网络中的其它网元接替该网元业务,整个网络运营状态不中断,保证了网络的稳定性和可靠性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的数据处理装置的结构框图,如图6所示,该装置包括采集模块62、获取模块64和存储模块66。

采集模块62,用于采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;

本发明实施例可以通过监测GGSN或PGW的各个接口采集用户的信令,其中,用户可以是一个,也可以是多个。优选地,上述采集模块62包括:信令采集器,以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S6接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

获取模块64,用于获取上述用户的唯一关键字;

由于网元中存在大量的用户,在采集用户的信令时,为了便于对每个用户的信令进行区分,本发明实施例中每个用户均对应于一个唯一关键字,通过该唯一关键字对用户进行唯一标识。优选地,上述获取模块64包括:获取单元,用于获取上述用户的识别码,其中,上述用户识别码包括国际移动用户识别码IMSI或移动用户综合业务数字网号码MSISDN;运算单元,用于对上述识别码进行哈希运算,得到上述唯一关键字。

在网元中的每个用户均有对应的国际移动用户识别码IMSI或移动用户综合业务数字网号码MSISDN,通过对用户对应的IMSI或MSISDN进行哈希运算得到哈希值,并将该哈希值作为上述唯一关键字,便于后续每个用户信令的快速存储和快速查找。

存储模块66,用于根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中。

本发明实施例可以预先在数据存储服务器中创建多级目录,也可以是在将上述信令存储至数据存储服务器的过程中在数据存储服务器中动态的生成多级目录。

本发明实施例通过采集模块62采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令;获取模块64获取上述用户的唯一关键字;以及存储模块66,用于根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中。相比于现有技术中将用户的信令存储于数据库中,存储速度更快,解决了相关技术中信令存储效率较低的问题,进而达到了提高信令存储效率的效果。

优选地,在根据上述唯一关键字将上述信令存储至数据存储服务器的多级目录中之前,上述装置还包括:生成模块,用于根据时间在上述数据存储服务器中生成多级目录。

例如,按照年、月、日、小时、分钟生成树型多级目录,其中,年为根目录,分钟为叶子目录。本发明实施例可以根据数据量的多少来决定多级目录的级数,例如,数据量少时,可以采用小时作为叶子目录,即为4级目录,数据量较大时,可以采用分钟作为叶子目录,即为5级目录。

优选地,上述存储模块66包括:查找单元,用于根据上述唯一关键字查找上述用户对应的数据存储服务器;以及存储单元,用于将上述信令存储至上述用户对应的数据存储服务器的多级目录中。

由于网元中存在大量的用户,为了便于快速存储用户的信令到该用户对应的数据存储服务器中,可以预先将用户的唯一关键字和其对应的数据存储服务器进行关联,通过用户的唯一关键字即可查找到该用户对应的数据存储服务器,并将用户的信令均存储于该用户对应的数据存储服务器的多级目录中,从而便于后续实现对用户信令的快速检索。

在本实施例中还提供了一种数据处理系统。图7是根据本发明实施例的数据处理系统的结构框图。如图7所示,数据处理系统包括:数据采集服务器72和数据存储服务器74。

数据采集服务器72,用于采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令。

优选地,上述数据采集服务器包括探针信令采集器,上述探针信令采集器以光口镜像的方式连接到上述通用分组无线业务支持节点或上述公共数据网网关的接口以采集上述信令,其中,上述接口包括以下至少之一:S5接口,S8接口,Gn接口,Gp接口,Gx接口,Gy接口,认证授权计费AAA接口。

本发明实施例通过光口镜像的方式采集GGSN或PGW的接口的信令,可以避免在采集GGSN或PGW的接口的信令的过程中影响GGSN或PGW的接口的正常工作。

数据存储服务器74,连接至上述数据采集模块,其中,上述数据存储服务器包括多级目录,上述多级目录用于存储上述信令。

本发明实施例通过数据采集服务器72采集网关通用分组无线业务支持节点GGSN或公共数据网网关PGW的信令,其中,上述信令为用户的信令,数据存储服务器74,以多级目录格式存储上述信令,解决了相关技术中信令存储效率较低的问题,进而达到了提高信令存储效率的效果。

优选地,上述数据存储服务器包括内存库和文件服务器,其中,上述内存库用于存储上述信令的概要信息,上述文件服务器用于存储上述信令的文件信息,上述概要信息和上述文件信息之间存在映射关系。

信令的概要信息包括信令文件的统一资源定位符URL信息和媒体文件的统一资源定位符URL信息,信令的文件信息则包括详细的信令文件和媒体文件,本发明实施例通过信令文件的URL信息即可以得到对应的信令文件,通过媒体文件的URL信息即可以得到对应的媒体文件,因此,在检索过程中,仅需从内存库中检索信令的概要信息既可以得到其对应的文件信息。

优选地,数据采集服务器还包括处理模块,连接至探针信令采集器,用于对探针信令采集器采集的信令进行解析得到概要信息和文件信息,并将概要信息和文件信息分别发送至内存库和文件服务器。

本发明实施例采用分布式存储方法,将信令的概要信息和信令的文件信息分别存储于内存库和文件服务器中。具体的,数据采集服务器的处理器将信令进行解析得到信令的概要信息和信令的文件信息,并将概要信息和文件信息分别发送至内存库和文件服务器。

优选地,上述数据处理系统还包括:查询服务器,连接至上述数据存储服务器,用于从上述数据存储服务器查询上述信令。

查询服务器用于从数据存储服务器查询网元用户的信令,以实现对网元用户的监控。

图8是根据本发明实施例的内存库检索数据系统部署示意图。如图8所示,内存库检索数据系统包括多个信令采集模块(即信令采集模块1至信令采集模块m),连接至GGSN或PGW各个接口以采集用户信令,多个内存库(即内存库1至内存库n),查询服务器和客户端查询模块,其中,在上报入库流程中,信令采集模块上报消息并根据MSISD取哈希做唯一关键字来匹配对应的内存库;在查询流程中,查询服务器的查询请求也根据必选条件,例如,MSISDN取哈希做唯一关键字来匹配对应的内存库。

本发明实施例在各个服务器使用权限受到严格限制时,通过探针信令采集器以光口镜像的方式连接到GGSN或PGW各个接口的信令进行实时监控,包括S5/S8接口,Gn/Gp接口,Gx接口,Gy接口和认证授权计费AAA接口。

该系统是在现有运营商的移动数据网络中通过新增网元的方式实现的,其在移动数据网络架构拓扑中通过信令采集模块AGENT接入GGSN或PGW之间的Gn/Gp接口,Gx接口,Gy接口和认证授权计费AAA接口,信令采集模块AGENT以探针采集的方式获取各个接口的数据包,提取网络实时数据,并按用户号MSISDN提取出用户相关的信令流程。内存库DS SERVER接收信令采集模块AGENT构建的信令概要信息的TLV记录,并实时入库。查询服务器WEB SERVER实现客户端的可定制查询功能,查询服务器WEB SERVER接收用户的查询请求,根据唯一关键字KEY1找到对应的内存库DS SERVER,并把JAVA脚本对象表示格式(JavaScript Object Notation,简称为JSON)的查询请求发送给内存库DS SERVER,查询请求中包括了唯一关键字KEY1。内存库DS SERVER的查询处理完毕后,查询服务器WEB SERVER会收到查询结果,同时提供网管参数配置管控中心,能够为网络管理人员提供参数配置界面。查询模块包含了高效的查询算法,查询条件(即查询指令)中包括三个信息:①起始时间;②终止时间;③MSISDN,其中,起始时间和终止时间精确到分钟量级。查询条件分别转化为对应日期、小时、MSISDN,并在日期/小时/分钟/这样的三级文件目录中依层次执行查找配匹。其中,查询结果为信令流程图,单击某行,会出现该条信令的详细的协议码流和协议解码详细信息。网元信令回溯系统数据查询步骤如下:

步骤1:用户在客户端查询模块的网络查询客户界面输入查询条件(即查询指令)包括:开始时间、结束时间、MSISDN、最大返回行数,组装为JSON格式。

步骤2:查询服务器WEB SERVER根据MSISDN取哈希得到唯一关键字KEY1,并将KEY1加入查询参数组合后,根据KEY1找到匹配的内存库DS SERVER,将该查询请求数据包以JSON格式发送给它。

步骤3:内存库DS SERVER的查询监听到有查询请求数据包到来,获取该JSON格式的数据包中的查询条件并转化为:起始日期、结束日期、KEY1。并在内存库中根据最大返回行数搜索满足条件的日志记录。

步骤4:内存库DS SERVER将所有满足条件的数据集组包以基于用户数据包协议 的数据传输协议(UDP-based Data Transfer Protocol,简称为UDT)报文方式快速发送给查询服务器WEB SERVER。

步骤5:查询服务器WEB SERVER收到对应的内存库DS SERVER返回的查询结果数据包,对其按照时间进行排序,并最终结果以JSON格式发送给客户端,客户端转换后呈现在查询界面上。

现有技术中,专利号为CN104636199A的“一种基于分布式内存计算的大数据实时处理系统及方法”存在以下不足:写文件前没有考虑重复的问题,将新旧两个版的文件元数据在服务器端进行比较,通过存储层中文件块对相同数据进行冗余去重,存在较大的系统开销,而本发明数据先按IMSI的哈希码进行过滤到不同文件,保证相同的关键字在同一文件,查询时可以按IMSI求哈希值直接定位到对应文件。同时文件按细化到分钟的目录存放,查询时根据时间范围可以锁定到为数很少的几个目录。此外,本发明实施例在查询上采用了可定制查询,就是用户需要看几条,服务端就只处理完文件中的对应有限行文本返回,在大数据环境下,不必读完整个文件,大大提高了响应速度。本发明通过系统的规划,保证了快速定位、快速查询。专利号为CN104679893A的“一种基于大数据的信息检索方法”存在以下不足:该基于大数据的信息检索方法中数据涉及到多个不同主机的多重备份和一致性维护,比较复杂,影响了系统的海量数据的处理能力。本发明实施例采用对MSISDN取哈希得到唯一关键字KEY1后,进行精确的发送,可以规避不同主机上数据重复的问题。分布式存储和分布式查询采用相同的字段的相同的散列算法,都定位到同一个内存库DS SERVER上,不会出现一个查询涉及多个主机的现象。同时本发明中的信息模型为一个典型的树结构,顶级的是我们分布式内存库中的各个表,下级是各个表对应的信令文件、媒体文件,内存表的表现形式也是数据文件,内存表的访问也是对文件目录的过滤和文件内容的过滤。

本发明实施例提供了一种分布式大数据快速存储查询系统,对GGSN/PGW的业务信令及数据业务类型提供实时监控和相应报表。其中包括网络实时监控以及网元信令回溯功能。可以对GGSN/PGW各个接口的信令进行实时监控,包括S5/S8,Gn/Gp,Gx,Gy,认证授权计费AAA接口。运营商可以在系统上通过用户IMSI/MSISDN号码查询到某一时段内该用户在GGSN/PGW上发生的信令,并能对这些信令进行解码。可以至少保持7天的全网元所有用户的信令,用于回溯查询。

同时,本发明还提供了一种分布式大数据快速存储策略,能根据用户的配置提供不同的响应速度,旨在均匀分担网络业务量,提高系统处理能力和可靠性。如采用Intel DPDK流处理框架进行数据采集,采用内存盘技术,和分布式大数据存储查询系统,解决大量数据文件的生成,和及时查询2个矛盾。提供了10万条每秒的数据实时插入的能力。

本发明针对于实际网络环境中不同的场景需求,提供两种基于分布式的上网日志回溯系统。一、在各个服务器使用权限受到严格限制时,通过探针信令采集器以光口镜像 的方式连接到GGSN/PGW各个接口的信令进行实时监控,包括S5/S8,Gn/Gp,Gx,Gy,认证授权计费AAA接口;二、使用如MSISDN取哈希作为系统的唯一关键字KEY1,用于网络查询和内存库DS SERVER的关联,信令采集模块AGENT和内存库DS SERVER上报消息目的的关联,用于内存库文件的唯一命名。三、系统采用了分布式内存库和分布式文件系统组合的方式提供了从概要到细目的分层信息结构,概要信息存放在内存库中,详细的信息(即信令文件、媒体文件等)通过分布式文件服务器分散保存,概要信息中包括例如信令文件的统一资源定位符URL和媒体文件的统一资源定位符URL,在客户端需要详细信息时,可以通过URL下载本地,在客户端本地工具中呈现,不影响服务器的性能。四、利用系统数据的时间戳,减少了大量定时器的使用;利用用户查询习惯(一次要看的最大数据行数)来减轻服务器的检索深度;利用内存处理替代文件处理,提高了系统处理能力。

因此,本系统装置设有信令采集模块AGENT,内存库DS Server,查询服务器WEB SERVER,文件服务器,共4个组成部件。其中,信令采集模块AGENT和内存库DS SERVER分别部署在不同的网络环境中。各个组件具体功能如下:

(1)信令采集模块AGENT,利用探针模块(例如,探针信令采集器)抓取GGSN/PGW各个接口的信令,并进行各个协议状态机的解析得到相关概要信息和各个信令文件、媒体文件,文件保存到分布式文件服务器;将概要信息按MSISDN取哈希作为唯一关键字KEY1发送到得到对应的内存库DS SERVER。

(2)内存库DS SERVER接收信令采集模块AGENT构建的TLV记录,并根据数据字典解析出唯一关键字KEY1,并利用唯一关键字KEY1构建第一标识符KEY2。第一标识符KEY2为唯一关键字KEY1组合上业务消息的时间戳的秒格式,或者小时格式。第一标识符KEY2用于写入器的查找,找到第一标识符KEY2对应的写入器后,即利用写入器写入到对应的内存文件中。由于KEY2使用了时间戳,这样不必使用定时器就可以实现定时1秒写入的功能。例如,满1秒时KEY2必然不同,会创建新的写入器,在实时要求高的情况下要保证1秒会强制写入一次文件,无论缓存是否满,没有使用定时器,却能达到定时写入的作用。同时还用处理查询请求,内存库DS SERVER接收查询服务器WEB SERVER的查询请求,找到根据唯一关键字KEY1、开始时间STARTTIME、结束时间ENDTIME以及其他业务字段过滤值,构造过滤器发起查询请求,时间类型为分钟时,根据开始时间STARTTIME、结束时间ENDTIME,遍历时间范围内的分钟目录,搜索深度为4级:年/月/日/小时/分钟/。只获取第4级目录的URL列表。然后遍历时间目录URL列表,目录下KEY1.il文件存在。若文件存在逐行处理文件,对各行数据根据设置的过滤器FILTERMAP过滤,只缓存有效的结果数据,若结果队列超过设置的结果行数或者到目录列表尾部都会将结果按开始时间排序,并分包发送查询结果到查询服务器WEB SERVER,完成查询。

(3)查询服务器WEB SERVER,实现客户端的可定制查询功能,查询服务器WEB SERVER接受用户的查询请求,根据唯一关键字KEY1找到对应的内存库DS SERVER,并把JSON格式的查询请求发送给内存库DS SERVER,,其中,查询请求中包括了唯一关键字KEY1。内存库DS SERVER的查询处理完毕后,查询服务器WEB SERVER会收到查询结果,同时提供网管参数配置管控中心,能够为网络管理人员提供参数配置界面。

(4)文件服务器,提供给信息采集模块AGENT存储信令文件和媒体文件,提供给客户端高速下载。

为了达到系统对大数据量级业务的处理能力和保证可靠性的目的,本发明还提供了一种分布式大数据快速存储策略,能根据用户的配置提供不同的响应速度,旨在均匀分担网络业务量,提高系统处理能力和可靠性。如采用Intel DPDK流处理框架进行数据采集,采用内存盘技术,和分布式大数据存储查询系统,解决大量数据文件的生成和及时查询两个矛盾,提供了10万条每秒的数据实时插入的能力和实时的快速查询的能力。

如图3所示,往内存库中写入数据包括如下步骤:

步骤S301,信令采集模块构建TLV记录,按MSISDN取哈希作为唯一关键字KEY1发送到得到对应内存库,并将此KEY1加入到TLV记录中。

信令采集模块AGENT采集信令,并对信令进行解析处理,例如,构建TLV记录,其中,TLV是指包括类型、长度和值三个字段的数据格式,将MSISDN取哈希作为唯一关键字KEY1发送到得到对应内存库,并将此KEY1加入到TLV记录中。

步骤S302,内存库接收到TLV记录,构建第一标识符KEY2,KEY2为KEY1和业务消息的时间戳的秒格式,或者小时格式。

步骤S303,查找KEY2对应的写入器是否成功,成功则执行步骤S306,失败则执行步骤KS304。

步骤S304,意味刷新时间到或新的MSISDN加入,需要批量(256个写入器为一批)关闭下当前的写入器,关闭时会强制从缓存写入内存盘。

具体地,当查找不到KEY2对应的写入器时,则表示刷新时间到或存在新的MSISDN加入,此时,需要关闭当前的写入器。

步骤S305,创建KEY2对应的写入器,写入器会在当前系统对应的分钟值或者小时值的叶子目录中创建新的文件。

步骤S306,写入到对应写入器的缓存。

步骤S307,判断写入器的缓存是否已满,如果写入器的缓存已满则执行步骤S308,如果写入器的缓存未满则执行步骤S301,进行下一条数据的处理。

步骤S308,写入器缓存数据写入文件,完毕执行步骤S301。

如图4所示,从内存库检索数据包括如下步骤:

步骤S401,查询服务器WEB SERVER接受用户的查询请求,根据KEY1找到对应的内存库DS SERVER。

步骤S402,内存库DS SERVER接收查询服务器的查询请求,根据KEY1,开始时间STARTTIME,结束时间ENDTIME,以及其他业务字段过滤值,构造过滤器FILTERMAP发起查询请求。

步骤S403,判断时间类型是小时还是分钟。如果判断出时间类型为小时则执行步骤S404,如果判断出时间类型为分钟则执行步骤S405。

步骤S404,根据STARTTIME和ENDTIME遍历时间范围内的分钟目录,搜索深度为5级:年/月/日/小时/分钟/,获取第5级目录的URL列表,并执行步骤S406。

步骤S405,根据STARTTIME和ENDTIME遍历时间范围内的小时目录,搜索深度为4级:年/月/日/小时/,获取第4级目录的URL列表,并执行步骤S406。

步骤S406,遍历时间目录的同一资源定位符URL列表,判断目录下KEY1.il文件是否存在,如果不存在则执行步骤S406继续遍历,如果存在则执行步骤S407。

步骤S407,逐行处理文件,对各行数据根据设置的过滤器FILTERMAP过滤,只缓存有效的结果数据。

步骤S408,判断查询结果队列是否超过预设的结果行数,如果未超过则执行步骤S409,超过则执行步骤S411,查询结束。

步骤S409,判断是否到文件尾部,如果未到文件尾部则执行步骤S407,如果到文件尾部则执行步骤S410。

步骤S410,判断是否到目录列表尾部,如果未到列表尾部则执行步骤S406取下一个时间目录处理,到目录列表尾部则直接执行步骤S411,查询结束。

步骤S411,将结果按开始时间排序,并分包发送查询结果到查询服务器WEB SERVER。

与现有技术比较,本发明实施例所要解决的技术问题是:提供一种GGSN/PGW的实时的信令跟踪平台能支持全网500万用户,280Gbps吞吐量(2014年AIS标书要求);并且能支持单个GGSN/PGW 150万用户,50Gbps吞吐量,本发明能够提供一种对GGSN/PGW的业务信令及数据业务类型提供实时监控和相应报表。其中包括网络实时监控以及网元信令回溯功能。可以对GGSN/PGW各个接口的信令进行实时监控,包括S5/S8,Gn/Gp,Gx,Gy,认证授权计费AAA接口。运营商可以在系统上通过用户 IMSI/MSISDN号码查询到某一时段内该用户在GGSN/PGW上发生的信令,并能对这些信令进行解码。可以至少保持7天的全网元所有用户的信令,用于回溯查询。

此外,本方明还提供分布式大数据快速存储策略,能根据用户的配置提供不同的响应速度,旨在均匀分担网络业务量,提高系统处理能力和可靠性。如采用Intel DPDK流处理框架进行数据采集,采用内存盘技术,和分布式大数据存储查询系统,解决大量数据文件的生成,和及时查询2个矛盾。提供了10万条每秒的数据实时插入的能力和实时的快速查询的能力。同时能适应在大数据量的业务需求下,网元并行分担整个网络业务负载,提高网络的业务处理性能。同时,在某个网元通信链路出现中断或故障时,分布式网络中的其它网元接替该网元业务,整个网络运营状态不中断,保证了网络的稳定性和可靠性。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例方法步骤的程序代码:

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1