CN109981548B - 一种计费消息的解析方法及装置 - Google Patents
一种计费消息的解析方法及装置 Download PDFInfo
- Publication number
- CN109981548B CN109981548B CN201711462473.3A CN201711462473A CN109981548B CN 109981548 B CN109981548 B CN 109981548B CN 201711462473 A CN201711462473 A CN 201711462473A CN 109981548 B CN109981548 B CN 109981548B
- Authority
- CN
- China
- Prior art keywords
- message
- charging
- field
- charging message
- length
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8221—Message based
Abstract
本申请实施例中公开了一种计费消息的解析方法及装置,该方法为分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,计费消息字段中包含的计费消息长度和计费消息版本号;确定计费消息字段的数据长度,并分别基于每一个计费消息字段的计费消息长度和消息版本号,数据长度,获得异常计费消息字段;筛选出包含的消息版本号为预设版本号的计费消息字段,作为消息起始字段;基于各个异常消息字段的数据长度,消息帧序号,分别将每一个消息起始字段与异常消息字段进行拼接组合获得各个拼接消息字段;分别按照计费消息长度,对相应的拼接消息字段未确定异常的计费消息字段进行计费消息提取获得各个计费消息,这样提高了解析的准确率和效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种计费消息的解析方法及装置。
背景技术
随着通信技术的不断发展,用户的通信业务(如,语音和流量)的业务量也逐渐增多,通信业务的计费工作量也越来越大,因此,迫切需要一种方式,对包含消息数据字段的信用控制应用协议(Diameter Credit Control,DCC)消息进行准确而高效的解析,从而可以通过解析结果,进行相应的计费处理。
现有技术下,终端对DCC消息进行解析时,主要采用以下方式:
首先,终端从待处理的计费文件中,获取计费文件中包含的各帧消息,其中,一帧消息中包含网络协议字段和DCC消息字段,一条DCC消息字段中记录有一条完整DCC消息的计费消息长度;然后,终端获取DCC消息字段中包含的计费消息长度,以及一帧消息中包含的DCC消息数据的数据长度;最后,终端确定DCC消息的计费消息长度与上述DCC消息数据的数据长度相等时,从上述一帧消息中提取包含的DCC消息数据,否则,舍弃上述一帧消息。
但是,由于一帧消息的长度有限,因此,一帧消息的可用长度可能超过一条DCC消息的计费消息长度,也可能一条完整的DCC消息的计费消息长度会超过一帧消息的可用长度,因此,可能一帧消息中包含多条DCC消息,也可能一条DCC消息被分割在多帧消息中,即一帧消息中包含的DCC消息并不完整的情况,进一步地,一条DCC消息对应的多帧消息可能并不连续。
综上,采用这种方式,在DCC消息被分割在多帧消息中时,无法获取该DCC消息的完整消息,这会造成DCC消息的大量丢失,并且一帧消息中包含多条DCC消息时,也会造成DCC消息的丢失,这降低了DCC消息解析的准确率和效率。
发明内容
本申请实施例提供一种计费消息的解析方法及装置,用于对计费消息进行解析时,提高解析的准确率和效率。
本申请实施例提供的具体技术方案如下:
第一方面,一种计费消息的解析方法,包括:
分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,并分别获取每一帧待处理消息的计费消息字段中包含的计费消息长度和计费消息版本号;
分别确定每一个计费消息字段的数据长度,并分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段;
在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;
基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;
分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取,并分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。
较佳的,分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段,具体包括:
在获取的各个计费消息字段中,筛选出计费消息长度大于数据长度,或,包含的消息版本号为非预设版本号的各个计费消息字段,获得各个异常计费消息字段。
较佳的,在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段,具体包括:
分别针对每一个计费消息的消息起始字段,执行以下步骤:
计算一个计费消息的消息起始字段的数据长度与对应的消息帧序号的加和,获得拼接序号;
将消息帧序号为拼接序号的异常计费消息字段,与一个消息起始字段进行拼接,获得一个计费消息的拼接消息字段。
较佳的,分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取,具体包括:
针对每一个计费消息的拼接消息字段,执行以下步骤:
判断一个计费消息的拼接消息字段的数据长度是否与一个计费消息的计费消息长度相等,若是,则直接提取拼接消息字段,作为计费消息;
否则,判断拼接消息字段的数据长度是否大于一个计费消息的计费消息长度,若是,则在拼接消息字段中提取长度为一个计费消息的计费消息长度的字段,作为计费消息,并将提取字段后的拼接消息字段设置为计费消息字段,并对设置后的计费消息字段再次进行计费消息的解析;
否则,将一个计费消息的拼接消息字段设置为一个计费消息的消息起始字段,再次对设置后的消息起始字段进行计费消息的解析。
较佳的,分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息,具体包括:
针对每一个未确定异常的计费消息字段,执行以下步骤:
判断一个计费消息字段的数据长度是否与相应的计费消息长度相等,若是,则直接提取计费消息字段,作为计费消息;
否则,确定计费消息字段的数据长度大于相应的计费消息长度时,在计费消息字段中提取长度为相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对未处理的计费消息字段,再次进行计费消息的解析。
第二方面,一种计费消息的解析装置,包括:
获取单元,用于分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,并分别获取每一帧待处理消息的计费消息字段中包含的计费消息长度和计费消息版本号;
第一筛选单元,用于分别确定每一个计费消息字段的数据长度,并分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段;
第二筛选单元,用于在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;
拼接单元,用于基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;
提取单元,用于分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取,并分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。
较佳的,在分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段时,第一筛选单元具体用于:
在获取的各个计费消息字段中,筛选出计费消息长度大于数据长度,或,包含的消息版本号为非预设版本号的各个计费消息字段,获得各个异常计费消息字段。
较佳的,在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段时,拼接单元具体用于:
分别针对每一个计费消息的消息起始字段,执行以下步骤:
计算一个计费消息的消息起始字段的数据长度与对应的消息帧序号的加和,获得拼接序号;
将消息帧序号为拼接序号的异常计费消息字段,与一个消息起始字段进行拼接,获得一个计费消息的拼接消息字段。
较佳的,在分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取时,提取单元具体用于:
针对每一个计费消息的拼接消息字段,执行以下步骤:
判断一个计费消息的拼接消息字段的数据长度是否与一个计费消息的计费消息长度相等,若是,则直接提取拼接消息字段,作为计费消息;
否则,判断拼接消息字段的数据长度是否大于一个计费消息的计费消息长度,若是,则在拼接消息字段中提取长度为一个计费消息的计费消息长度的字段,作为计费消息,并将提取字段后的拼接消息字段设置为计费消息字段,并对设置后的计费消息字段再次进行计费消息的解析;
否则,将一个计费消息的拼接消息字段设置为一个计费消息的消息起始字段,再次对设置后的消息起始字段进行计费消息的解析。
较佳的,在分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息时,提取单元具体用于:
针对每一个未确定异常的计费消息字段,执行以下步骤:
判断一个计费消息字段的数据长度是否与相应的计费消息长度相等,若是,则直接提取计费消息字段,作为计费消息;
否则,确定计费消息字段的数据长度大于相应的计费消息长度时,在计费消息字段中提取长度为相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对未处理的计费消息字段,再次进行计费消息的解析。
第三方面,一种电子设备,包括:一个或多个处理器;以及
一个或多个计算机可读介质,可读介质上存储有用于计费消息的解析程序,其中,程序被一个或多个处理器执行时,实现上述第一方面中任一项的方法的步骤。
第四方面,一个或多个计算机可读介质,可读介质上存储有用于计费消息的解析程序,其中,程序被一个或多个处理器执行时,使得通信设备执行上述第一方面中任一项的方法。
本申请实施例中,分别获取每一帧待处理消息中包含的计费消息字段,计费消息长度,计费消息版本号和消息帧序号,并分别确定每一个计费消息字段的数据长度;基于各个计费消息字段的计费消息长度,数据长度和消息版本号,筛选出异常的计费消息字段,获得各个异常计费消息字段;在各个异常消息字段中,筛选出消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息以及未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。这样,就可以对异常的计费消息字段也进行合并以及提取,提高了计费消息解析的准确率和效率。
附图说明
图1为本申请实施例中计费消息的解析方法的流程图;
图2为本申请实施例中计费消息的解析装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高计费消息解析的准确率和效率,本申请实施例中,设计了一种计费消息的解析方法,该方法为分别获取每一帧待处理消息中包含的计费消息字段,计费消息长度,计费消息版本号和消息帧序号,并分别确定每一个计费消息字段的数据长度;基于各个计费消息字段的计费消息长度,数据长度和消息版本号,筛选出异常的计费消息字段,获得各个异常计费消息字段;在各个异常消息字段中,筛选出消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息以及未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参阅图1所示,为计费消息的解析流程图,本申请实施例中,对计费消息的解析具体流程如下:
步骤100:服务器基于待处理的计费压缩文件,获取若干待处理消息。
具体的,执行步骤100时,计费压缩文件为服务器通过核心网业务控制网元与业务支撑系统间的计费接口获取信息并进行压缩后的压缩文件。
步骤101:服务器分别获取每一帧待处理消息中包含的计费消息字段,计费消息长度,计费消息版本号和消息帧序号,并分别确定每一个计费消息字段的数据长度。
具体的,首先,服务器分别获取每一帧待处理消息中的网络协议数据字段和计费消息字段。其中,一帧待处理消息包含网络协议数据字段和计费消息字段两部分。计费消息可以为DCC消息。
然后,服务器对网络协议字段进行关键字段提取,并根据现有的通信协议规范,筛选出网络协议字段的各个字段符合规范的待处理消息,以及将包含不符合规范的字段的待处理消息判定为错误消息并进行丢弃。
其中,网络协议字段至少包含以下字段:
以太网目标物理地址(Medium Access Control,MAC),源MAC,以太网协议类型,互联网协议(Internet Protocol,IP)头部长度字段,传输控制协议(Transmission ControlProtocol,TCP)头部长度地段,以及消息帧序号(seq_sum)。
这样,可以将不符合通信协议规范的错误待处理消息丢弃,以及通过消息帧序号可以确定各帧待处理消息之间的顺序,用于对后续步骤中对计费消息字段进行合并。
最后,服务器对计费消息字段进行字段提取,获得计费消息字段中包含的计费消息长度和计费消息版本号,并确定计费消息字段的数据长度。
其中,计费消息字段包括计费消息版本号(Version),计费消息长度(MessageLength),以及计费的信息数据等信息。
由于一帧待处理消息的长度有限,因此,一帧待处理消息的数据长度可能超过计费消息的计费消息长度,也可能计费消息长度会大于一帧待处理消息的数据长度,因此,可能一帧待处理消息中包含多条计费消息,也可能一条计费消息被分割在多帧消息中。
本申请实施例中,若一帧待处理消息中包含多条计费消息,则仅获取一帧待处理消息的第一条计费消息字段中包含的计费消息长度,计费消息版本号。
步骤102:服务器基于各个计费消息字段的计费消息长度,数据长度和消息版本号,筛选出异常的计费消息字段,获得各个异常计费消息字段。
具体的,服务器获得各个异常计费消息字段时,可以但不限定采用以下几种方式:
第一种方式为:筛选出计费消息长度大于数据长度的各个计费消息字段,获得各个异常计费消息字段。
第二种方式为:筛选出消息版本号为非预设版本号的各个计费消息字段,获得各个异常计费消息字段。
然后,服务器将各个异常计费消息字段存储在异常消息集合。
进一步地,服务器将未确定异常的各个计费消息字段,存储在正常消息集合。其中,未确定异常的计费消息的计费消息长度不大于数据长度并且消息版本号为预设版本号。
这样,就可以将异常的计费消息字段在后续步骤中进行相应的处理,实现计费消息的正确解析。
步骤103:服务器在各个异常消息字段中,筛选出消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段。
其中,计费消息字段的消息版本号若为预设版本号,如0100,表示消息可能正确,这是由于一条计费消息的消息版本号一般为一个预先设定的特定值,并且消息版本号位于一条计费消息的开头。
这样,就可以通过消息版本号,确定各个计费消息的消息起始字段,从而可以在后续的步骤中,将消息起始字段作为计费消息的开头,确定下一个相应计费消息字段,以进行字段合并。
步骤104:服务器基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段。
具体的,执行步骤104时,服务器针对每一个计费消息的消息起始字段,执行以下步骤:
首先,计算一个计费消息的消息起始字段的数据长度与对应的消息帧序号的加和,获得拼接序号;
然后,将消息帧序号为拼接序号的异常计费消息字段,与一个消息起始字段进行拼接,获得一个计费消息的拼接消息字段。
这是由于多帧待处理消息并不一定会连续存储,因此,就可以根据消息帧序号,确定一个计费消息被分割的各个计费消息字段。
步骤105:服务器分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取。
具体的,针对每一个计费消息的拼接消息字段,进行拼接消息字段计费消息提取时,可以采用但不限定以下几种方式:
第一种方式为:确定一个计费消息的拼接消息字段的数据长度与一个计费消息的计费消息长度相等时,直接提取该拼接消息字段,作为计费消息。
这是由于拼接消息字段的数据长度与计费消息长度相等时,说明拼接消息字段刚好为一条完整的计费消息。
第二种方式为:确定拼接消息字段的数据长度大于一个计费消息的计费消息长度时,在拼接消息字段中提取长度为一个计费消息的计费消息长度的字段,作为计费消息,并将提取字段后的拼接消息字段设置为计费消息字段,并对设置后的计费消息字段再次进行计费消息的解析。
这是由于数据长度大于计费消息长度时,说明拼接消息字段中包含多条计费消息,则可以在提取该完整计费消息后,将提取后剩下的拼接消息字段重新进行计费消息解析。
其中,进行计费消息解析时,需要重新获取提取后剩下的拼接消息字段中包含的计费消息长度,计费消息版本号,确定相应的数据长度,并将消息帧序号调整为原拼接消息字段的消息帧序号与原拼接消息字段的数据长度的加和。
第三种方式为:确定拼接消息字段的数据长度小于一个计费消息的计费消息长度时,将一个计费消息的拼接消息字段设置为一个计费消息的消息起始字段,再次对设置后的消息起始字段进行计费消息的解析。
这是由于数据长度小于计费消息长度时,说明拼接消息字段并不是一条完整的计费消息,需要与其它计费消息字段继续进行拼接,则将拼接消息字段作为一个新的消息起始字段,重新与其它计费消息字段进行拼接组合。
步骤106:服务器分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。
具体的,服务器对未确定异常的计费消息字段,进行计费消息提取时,针对每一个未确定异常的计费消息字段,可以采用但不限定以下几种方式:
第一种方式为:服务器确定一个计费消息字段的数据长度与相应的计费消息长度相等时,直接提取计费消息字段,作为计费消息。
这是由于计费消息字段的数据长度与计费消息长度相等时,说明计费消息字段刚好为一条完整的计费消息。
第二种方式为:服务器确定计费消息字段的数据长度大于相应的计费消息长度时,在计费消息字段中提取长度为相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对未处理的计费消息字段,再次进行计费消息的解析。
这是由于数据长度大于计费消息长度时,说明计费消息字段中包含多条计费消息,则可以在提取该完整计费消息后,将提取后剩下的计费消息字段重新进行计费消息解析。
其中,再次进行计费消息解析时,需要重新获取提取后剩下的计费消息字段中包含的计费消息长度,计费消息版本号,确定相应的数据长度,并将消息帧序号调整为原计费消息字段的消息帧序号与原计费消息字段的数据长度的加和。
进一步地,服务器将最后剩余的无法进行解析的错误的计费消息字段进行存储,以便后续的相应的问题反馈与调整。
这样,通过对各个计费消息字段进行合并以及提取,以及对提取后的计费信息字段进行循环处理,可以将大部分计费消息字段进行解析处理,减少了丢失的数据,极大地提计费消息的解析精确度,对计费消息的检测更加的全面。
本申请实施例中,一种电子设备,包括:一个或多个处理器;以及
一个或多个计算机可读介质,可读介质上存储有用于计费消息的解析的程序,其中,程序被一个或多个处理器执行时,实现上述实施例中的各个步骤。
本申请实施例中,一个或多个计算机可读介质,可读介质上存储有用于计费消息的解析的程序,其中,程序被一个或多个处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。
基于上述实施例,参阅图2所示,计费消息的解析装置的结构示意图,本申请实施例中,计费消息的解析装置具体包括:
获取单元20,用于分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,并分别获取每一帧待处理消息的计费消息字段中包含的计费消息长度和计费消息版本号;
第一筛选单元21,用于分别确定每一个计费消息字段的数据长度,并分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段;
第二筛选单元22,用于在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;
拼接单元23,用于基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;
提取单元24,用于分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取,并分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。
较佳的,在分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段时,第一筛选单元21具体用于:
在获取的各个计费消息字段中,筛选出计费消息长度大于数据长度,或,包含的消息版本号为非预设版本号的各个计费消息字段,获得各个异常计费消息字段。
较佳的,在各个异常消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段时,拼接单元23具体用于:
分别针对每一个计费消息的消息起始字段,执行以下步骤:
计算一个计费消息的消息起始字段的数据长度与对应的消息帧序号的加和,获得拼接序号;
将消息帧序号为拼接序号的异常计费消息字段,与一个消息起始字段进行拼接,获得一个计费消息的拼接消息字段。
较佳的,在分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息提取时,提取单元24具体用于:
针对每一个计费消息的拼接消息字段,执行以下步骤:
判断一个计费消息的拼接消息字段的数据长度是否与一个计费消息的计费消息长度相等,若是,则直接提取拼接消息字段,作为计费消息;
否则,判断拼接消息字段的数据长度是否大于一个计费消息的计费消息长度,若是,则在拼接消息字段中提取长度为一个计费消息的计费消息长度的字段,作为计费消息,并将提取字段后的拼接消息字段设置为计费消息字段,并对设置后的计费消息字段再次进行计费消息的解析;
否则,将一个计费消息的拼接消息字段设置为一个计费消息的消息起始字段,再次对设置后的消息起始字段进行计费消息的解析。
较佳的,在分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息时,提取单元24具体用于:
针对每一个未确定异常的计费消息字段,执行以下步骤:
判断一个计费消息字段的数据长度是否与相应的计费消息长度相等,若是,则直接提取计费消息字段,作为计费消息;
否则,确定计费消息字段的数据长度大于相应的计费消息长度时,在计费消息字段中提取长度为相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对未处理的计费消息字段,再次进行计费消息的解析。
本申请实施例中,分别获取每一帧待处理消息中包含的计费消息字段,计费消息长度,计费消息版本号和消息帧序号,并分别确定每一个计费消息字段的数据长度;基于各个计费消息字段的计费消息长度,数据长度和消息版本号,筛选出异常的计费消息字段,获得各个异常计费消息字段;在各个异常消息字段中,筛选出消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;基于各个异常消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常消息字段进行拼接组合,获得各个计费消息的拼接消息字段;分别按照每一个计费消息长度,分别对相应的拼接消息字段计费消息以及未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息。这样,就可以对异常的计费消息字段也进行拼接组合以及提取,提高了计费消息解析的准确率和效率。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。
Claims (7)
1.一种计费消息的解析方法,其特征在于,包括:
分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,并分别获取每一帧待处理消息的计费消息字段中包含的计费消息长度和计费消息版本号;
分别确定每一个计费消息字段的数据长度,并分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段;
在各个异常计费消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;
基于各个异常计费消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常计费消息字段进行拼接组合,获得各个计费消息的拼接消息字段;
分别按照每一个计费消息长度,分别对相应的拼接消息字段进行计费消息提取,并分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息;
其中,针对每一个未确定异常的计费消息字段,执行以下步骤:
判断一个计费消息字段的数据长度是否与相应的计费消息长度相等,若是,则直接提取所述计费消息字段,作为计费消息;
否则,确定所述计费消息字段的数据长度大于所述相应的计费消息长度时,在所述计费消息字段中提取长度为所述相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对所述未处理的计费消息字段,再次进行计费消息的解析。
2.如权利要求1所述的方法,其特征在于,分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段,具体包括:
在获取的各个计费消息字段中,筛选出计费消息长度大于数据长度,或,包含的消息版本号为非所述预设版本号的各个计费消息字段,获得各个异常计费消息字段。
3.如权利要求1所述的方法,其特征在于,在各个异常计费消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段,具体包括:
分别针对每一个计费消息的消息起始字段,执行以下步骤:
计算一个计费消息的消息起始字段的数据长度与对应的消息帧序号的加和,获得拼接序号;
将消息帧序号为所述拼接序号的异常计费消息字段,与所述一个消息起始字段进行拼接,获得所述一个计费消息的拼接消息字段。
4.如权利要求1所述的方法,其特征在于,分别按照每一个计费消息长度,分别对相应的拼接消息字段进行计费消息提取,具体包括:
针对每一个计费消息的拼接消息字段,执行以下步骤:
判断一个计费消息的拼接消息字段的数据长度是否与所述一个计费消息的计费消息长度相等,若是,则直接提取所述拼接消息字段,作为计费消息;
否则,判断所述拼接消息字段的数据长度是否大于所述一个计费消息的计费消息长度,若是,则在所述拼接消息字段中提取长度为所述一个计费消息的计费消息长度的字段,作为计费消息,并将提取字段后的拼接消息字段设置为计费消息字段,并对设置后的计费消息字段再次进行计费消息的解析;
否则,将所述一个计费消息的拼接消息字段设置为所述一个计费消息的消息起始字段,再次对设置后的消息起始字段进行计费消息的解析。
5.一种计费消息的解析装置,其特征在于,包括:
获取单元,用于分别获取每一帧待处理消息中包含的计费消息字段和消息帧序号,并分别获取每一帧待处理消息的计费消息字段中包含的计费消息长度和计费消息版本号;
第一筛选单元,用于分别确定每一个计费消息字段的数据长度,并分别基于每一个计费消息字段包含的计费消息长度和消息版本号,以及相应的数据长度,筛选出异常的计费消息字段,获得各个异常计费消息字段;
第二筛选单元,用于在各个异常计费消息字段中,筛选出包含的消息版本号为预设版本号的计费消息字段,分别作为每一个计费消息的消息起始字段;
拼接单元,用于基于各个异常计费消息字段的数据长度,以及消息帧序号,分别将每一个计费消息的消息起始字段与相应的异常计费消息字段进行拼接组合,获得各个计费消息的拼接消息字段;
提取单元,用于分别按照每一个计费消息长度,分别对相应的拼接消息字段进行计费消息提取,并分别按照每一个计费消息长度,对未确定异常的计费消息字段,进行计费消息提取,获得各个计费消息;
所述提取单元,具体用于:针对每一个未确定异常的计费消息字段,执行以下步骤:判断一个计费消息字段的数据长度是否与相应的计费消息长度相等,若是,则直接提取计费消息字段,作为计费消息;否则,确定计费消息字段的数据长度大于相应的计费消息长度时,在计费消息字段中提取长度为相应的计费消息长度的字段,作为计费消息,并将提取字段后的计费消息字段,设置为未处理的计费消息字段,并对未处理的计费消息字段,再次进行计费消息的解析。
6.一种电子设备,其特征在于,包括:一个或多个处理器;以及
一个或多个计算机可读存储介质,计算机可读存储介质上存储有用于计费消息的解析程序,其中,程序被一个或多个处理器执行时,实现如权利要求1~4中任意一项的方法的步骤。
7.一个或多个计算机可读存储介质,其特征在于,计算机可读存储介质上存储有用于计费消息的解析程序,其中,程序被一个或多个处理器执行时,使得通信设备执行如权利要求1至4中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462473.3A CN109981548B (zh) | 2017-12-28 | 2017-12-28 | 一种计费消息的解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462473.3A CN109981548B (zh) | 2017-12-28 | 2017-12-28 | 一种计费消息的解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981548A CN109981548A (zh) | 2019-07-05 |
CN109981548B true CN109981548B (zh) | 2021-09-10 |
Family
ID=67074956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711462473.3A Active CN109981548B (zh) | 2017-12-28 | 2017-12-28 | 一种计费消息的解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981548B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669431B (zh) * | 2020-05-07 | 2021-11-19 | 深圳华锐金融技术股份有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127611A (zh) * | 2007-09-19 | 2008-02-20 | 中兴通讯股份有限公司 | Ims网元计费信息综合方法和系统及计费方法和系统 |
CN101237331A (zh) * | 2007-12-27 | 2008-08-06 | 华为技术有限公司 | 话单文件的生成方法、传输方法、系统和装置 |
CN105704091A (zh) * | 2014-11-25 | 2016-06-22 | 中国科学院声学研究所 | 一种基于ssh协议的会话解析方法及系统 |
CN105872063A (zh) * | 2016-04-13 | 2016-08-17 | 北京思特奇信息技术股份有限公司 | 一种基于dcc协议的ipv6地址编码、解码方法及对应的系统 |
CN107171879A (zh) * | 2016-03-07 | 2017-09-15 | 中国移动(深圳)有限公司 | 一种在线计费接口消息的检测方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490909B (zh) * | 2012-06-13 | 2018-03-27 | 中兴通讯股份有限公司 | 计费处理方法及装置 |
CN106254381A (zh) * | 2016-09-12 | 2016-12-21 | 全球能源互联网研究院 | 协议解析方法、装置及包含协议解析装置的二层交换系统 |
-
2017
- 2017-12-28 CN CN201711462473.3A patent/CN109981548B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127611A (zh) * | 2007-09-19 | 2008-02-20 | 中兴通讯股份有限公司 | Ims网元计费信息综合方法和系统及计费方法和系统 |
CN101237331A (zh) * | 2007-12-27 | 2008-08-06 | 华为技术有限公司 | 话单文件的生成方法、传输方法、系统和装置 |
CN105704091A (zh) * | 2014-11-25 | 2016-06-22 | 中国科学院声学研究所 | 一种基于ssh协议的会话解析方法及系统 |
CN107171879A (zh) * | 2016-03-07 | 2017-09-15 | 中国移动(深圳)有限公司 | 一种在线计费接口消息的检测方法及装置 |
CN105872063A (zh) * | 2016-04-13 | 2016-08-17 | 北京思特奇信息技术股份有限公司 | 一种基于dcc协议的ipv6地址编码、解码方法及对应的系统 |
Non-Patent Citations (1)
Title |
---|
Diameter协议详解----Diameter Credit Control Protocol AAA东海陈光剑;iteye_7332;《CSDN》;20130401;第1页第1行至最后一行 * |
Also Published As
Publication number | Publication date |
---|---|
CN109981548A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329861B (zh) | 一种多接口测试方法及装置 | |
CN106020948B (zh) | 一种流程调度方法及装置 | |
CN108337652B (zh) | 一种检测流量欺诈的方法及装置 | |
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
CN111224831B (zh) | 用于生成话单的方法和系统 | |
CN110932918A (zh) | 日志数据采集方法、装置及存储介质 | |
EP2741449B1 (en) | Processing of call data records | |
CN109981548B (zh) | 一种计费消息的解析方法及装置 | |
CN111367690A (zh) | 一种支持组合api服务调用方法及装置 | |
WO2020000742A1 (zh) | 一种去重流量记录方法、装置、服务器及存储介质 | |
CN113254210A (zh) | 一种基于云服务的ofd文件签章验证方法、系统及设备 | |
CN109656791B (zh) | 一种基于Jmeter的gRPC性能测试方法及装置 | |
CN109214846B (zh) | 信息存储方法和装置 | |
CN112835934B (zh) | 查询信息采集方法、装置、电子设备和存储介质 | |
WO2021129849A1 (zh) | 日志处理方法、装置、设备和存储介质 | |
CN111126003A (zh) | 话单数据处理方法及装置 | |
CN107864127B (zh) | 一种应用程序的识别方法及装置 | |
CN113852835A (zh) | 直播音频处理方法、装置、电子设备以及存储介质 | |
CN109462496B (zh) | 一种视联网终端的数据处理方法和装置 | |
CN113315736A (zh) | 一种业务进程间的数据同步方法和装置 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN106777010B (zh) | 日志的提供方法、装置以及日志的获取方法、装置和系统 | |
CN112799797A (zh) | 一种任务管理的方法和装置 | |
CN113096298B (zh) | 一种网络投票方法和装置 | |
CN111314184B (zh) | 基于透传机制的控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |