一种指标计算方法和装置的制作方法

文档序号:7916783阅读:281来源:国知局

专利名称::一种指标计算方法和装置的制作方法
技术领域
:本发明涉及通信
技术领域
,特别是涉及一种指标计算方法和装置。
背景技术
:在电信领域或商业领域经常需要对大量的单据进行统计处理,以得到关键的统计指标。以电信领域的呼叫历史记录(CallHistoryRecord,CHR,不同的厂商可能有不同的叫法)为例,系统每处理一个呼叫都会产生一条CHR,该CHR中含有该呼叫的所有信息,包括主叫号码,被叫号码,主叫小区,被叫小区,接通时长,振铃时长,通话时长等等。所有的这些CHR在入库时均需要通过一个软件纟莫块完成指标计算,比如统计出某个时段的试呼次数,成功次数,成功率等。包含该功能的软件模块通常被称为抽取转化加载模块(ExtractionTransformationLoading,ETL)或预计算模块。计算得到的统计值,通常被称为指标。指标计算的关键就是数据之间各种关系的实现,即如果单据符合某种条件,则对某指标的数据按照某公式计算。在现有技术中,主要通过两种方法实现上述的指标计算方法一通过编写软件代码固化需要实现的计算关系,软件使用时不需要配置,可以直接实现某公式计算的需求。方法二软件代码中只涉及指标计算的框架,没有具体实现算法。软件运行时,读取外部的配置文件获取指标计算关系,才艮据此计算关系完成指标统计。这个配置文件即可以随软件版本一起发布,在使用中也可随时更新。用户也可以自己定制。方法三目前还有一种方法是在软件代码中固化某些复杂的关系,以此,实现复杂条件和公式的配置。在实现本发明的过程中,发明人发现现有技术至少存在以下问题1、对于现有技术中的方法一,由于代码固化了计算关系,软件发布后如果单据格式或计算关系有变化,均需要重新开发和发布软件,升级的成本较高,且用户无法自己定制计算关系,客户使用很不方便。2、对于现有技术中的方法二,配置逻辑复杂,容易出错。而且在目前现有的实现中,只能实现简单的计算关系描述,无法实现复杂条件和公式的配置,使用有限制。3、对于现有技术中的方法三,预计算软件与业务实现相关联,每当有新的计算关系,就需要对系统打补丁或者出版本。
发明内容本发明实施例要解决的问题是提供一种指标计算方法和装置,通过编程语言设置的语法表达式,进行指标计算。为达到上述目的,本发明实施例一方面提出一种指标计算方法,包括以下步骤接收业务信息;识别所述业务信息中的业务字^a;当满足所述业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。另一方面,本发明实施例还提出一种指标计算装置,包括以下步骤接收模块,用于接收业务信息;识别^t块,用于识别所述接收模块接收的业务信息中的业务字^a;计算模块,用于当满足所述识别模块所识别的业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。本发明实施例的技术方案具有以下优点,因为采用了指标计算方法,从而,通过编程语言描述指标计算规则,达到简化运算规则更新过程的效果。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中一种指标计算方法的流程示意图2为本发明实施例中一种实施场景下的指标计算方法的流程示意图3为本发明实施例中公式解析的树状结构示意图4为本发明实施例中另一种实施场景下的指标计算方法的流程示意图5为本发明实施例中一种指标告警的流程示意图6为本发明实施例中一种指标计算装置的结构示意图。具体实施例方式本发明实施例提出了一种指标计算方法,通过编程语言设置预计算模块或ETL的配置文件,从而预设数据类型和语法表达式。即在预计算或ETL的配置文件中直接使用C语言(或其他编程语言)语法来描述运算关系,这样既保留了准确、清晰、强大的功能实现以及复杂关系的描述能力,又具有灵活性和多适配性的特点。如图1所示,为本发明实施例中,一种指标计算方法的流程示意图,具体包括以下步骤步骤S101、接收业务信息。具体的,接收业务信息的来源包括以下两种情况情况一、通过业务信息数据库接收业务信息,其中,业务信息数据库用于存储网元上报的业务信息。情况二、接收网元上报的业务信息。需要进一步指出的是,在本步骤之前,还包括在预计算模块或ETL的配置文件中,进行业务信息处理规则的预设,具体为使用编程语言(如C语言)的数据类型来描述业务信息字段,并使用编程语言(如C语言)的语法表达式来描述条件和/或公式;并且,在预计算模块或ETL进行系统初始化时分析上述预设的语法表达式,将其解析成高效结构数据,如树或链表,也可根据语法表达式直接生成可执行的代码片段,并进而生成可执行的程序。上述的步骤仅是指标计算方法的预备步骤,在系统启动,进行初始化时进行读取即可,而无需在每次指标计算前进行重复读取,从而保证了指标计算规则的稳定,并减少了反复读取指标计算规则而导致的数据冗余,提高了数据处理效率。而当指标计算规则需要进行变更时,只需通过编程语言更改上述的预计算模块或ETL的配置文件,并重启系统,对新的配置文件进行初始化,更新指标计算规则即可,实现了指标计算规则的灵活调整。步骤S102、识别业务信息中的业务字段。需要进一步说明的是,可以根据以编程语言设置的数据类型识别所述业务信息中的业务字段。步骤S103、当满足业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。根据生成的树、链表或代码字段,通过业务字段所对应的单据数据,进行指标计算。需要进一步说明的是,上述的业务字段对应的条件可以是以编程语言进行设置的。另一方面,在具体实施环境中,也可以缺省上述条件,即无需验证是否满足上述条件的情况下,直接进行指标计算,这样的变化同样属于本发明的保护范围。此外,指标计算完成后,还包括当通过业务信息数据库接收业务信息时,将指标计算的结果发送给指标库;当接收网元上报的业务信息时,将业务信息进行处理后发送给业务信息数据库,并将指标计算的结果发送给指标库。其中,将业务信息进行处理,具体为将网元上报的业务信息,切分为多个数据库字段。还需要进一步指出的是,上述的指标计算方法,还包括当业务信息达到预设的告警条件时,进行告警。其中,告警条件同样是通过编程语言在预计算模块或ETL的配置文件中进行预设的,如通过C语言预设的语法表达式进行设置。本发明实施例所提出的技术方案可运用于多种商业领域,凡是对单据、记录进行统计处理的均可以使用本方法、数据仓库技术中的的ETL部分也可以使用本方法完成数据统计功能。目前电信运营商会有各自的性能统计体系,为了实现运营商的性能统计体系,设备商就需要对自己提供的指标进行较复杂的指标计算。由于每个运营商的统计体系千差万别,而且在实际应用中经常会有调整和变动。所以网管就很需要灵活、高效的数据计算统计功能可以实现复杂的运算关系、具备数据判断和合法性检查功能、在现网可以随时更改生效。所以在网管产品使用可编程预计算配置文件方案就能很好的满足客户对于指标统计的需求,大大增加产品的竟争力。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图2所示,本发明实施例的一种实施场景,电信领域中,网元上报给数据处理模块的CHR数据存放在数据库中,运营商需要分析该数据库中的单据得到话务统计的指标和其他运营统计数据,以便于进行运营维护。在图2所示的实施场景中,包括网元(MSC)、业务信息数据库(原始单据库)、预设计模块和指标库,此外,还有为预设计模块预设的配置文件,在该场景下,本发明实施例所提出的指标计算方法具体包括以下步骤步骤S201、设置预计算模块的配置文件。在预计算模块的配置文件中,进行业务信息处理规则的预设,具体为使用编程语言(如c语言)的数据类型来描述业务信息字^a,并使用编程语言(如C语言)的语法表达式来描述条件和公式。对于上述实施场景,可以4姿照以下所示表1和表2的方式,设计可编程预计算模块的配置文件(表格形式),具体如下表1CHR单据数据类型描述示意列表<table>complextableseeoriginaldocumentpage9</column></row><table>表2CHR单据语法表达式描述示意列表<table>complextableseeoriginaldocumentpage9</column></row><table>「要指出的是,上述的表1和表2中以表格形式为例说明了配置文件中的数据类型和语法表达式的描述方法,但这仅是本发明的一种优选实施例,除了表格形式外,配置文件还可以是文本、二进制文件、XML、数据库表等形式。在配置文件中,将CHR单据格式描述成类似C语言中数据结构的定义,将所要实现的计算公式和数据之间的制约条件按照编程语言(C语言为例)的表达式语法描述。需要指出的是,在本发明实施例中,为了便于说明,采用C语言为例进行相应编程语言的描述,但在实际应用中,其他编程语言同样可以用于上述配置文件的设置,编程语言种类的变化并不影响本发明的保护范围。步骤S202、预计算模块初始化时,解析配置文件,生成高效结构数据。在预计算模块进行系统初始化时分析上述步骤通过编程语言设置的语法表达式,将其解析成高效结构数据,如树或链表,也可根据语法表达式直接生成可执行的代码片卓爻,并进而生成可执行的程序。在预计算模块初始化的时候结合单据的描述将计算指标所需要的条件和公式解析成可直接高效运算的链表或树等结构数据,也可以直接动态生成可执行的代码段。至于生成哪种高效的形式,可由开发者和开发环境决定。比如,可以根据最低优先级算法将一个判断条件或公式分解成多个基本二元结构,比如操作数l、操作符、操作数2等。具体的,以一个比较复杂的公式为例ITEM[10]-(字段A+字段B)x(字段C-字段D)十字段E+4上述公式可以解析成如图3所示的树状结构,变为以下形式ITEM[IO]=公式3x公式4+公式2进一步的,上述的公式有分别对应具体的字段计算,通过上述的树结构,将原本复杂的公式分解为多个简单的小公式,实现了可以进行复杂关系描述,并进行高效计算的目的。本步骤完成后,即完成了指标计算方法的准备步骤,以下是指标计算方法的计算步骤步骤S203、网元发送CHR给业务信息数据库(原始单据库)。网元向业务信息数据库进行CHR提交,上报业务信息。具体的,本实施例中,业务信息是以CHR为例进行说明,但在实际应用场景中,也可以是其他的数据信息,业务信息内容的变化并不影响本发明的保护范围。步骤S204、业务信息数据库(原始单据库)发送CHR到预计算模块。本步骤是对上一步骤中所接收的CHR信息的转发,需要指出的是,转发之前,业务信息数据库同样会对CHR信息进行存储,以便进行后续的其他数据应用。步骤S205、预计算模块进行指标计算。根据步骤S202中已经生成的高效结构数据,当预计算模块处理CHR数据时,就可以采用递归算法,按照独立的树结构设置(公式1到公式4)进行计算,逐层汇总,快速的得到指标计算结果。另一方面,对原始单据进行条件判断的处理(如告警判断等)也可以采用上述方法,本发明在后续的实施例中另有详细的描述,本实施例不再另行赘述。步骤S206、预计算模块发送指标计算的结果给指标库。完成指标计算后,预计算模块会将计算结果会下发到指标库中进行存储。另外,在本步骤完成后,会返回步骤S203,进行后续的业务信息(如CHR)的指标计算,从而实现预计算模块对指标计算的循环,确保网元上报的CHR信息可以得到及时的处理。而上述的树状结构和数据类型等信息在预设完成并被初始化读取后,无需进行反复设置,保证了指标计算规则的稳定性。而当指标计算规则需要发生变更时,只需更改预计算模块的配置文件,并重启系统,对配置文件重新进行初始化即可,实现了指标计算规则的灵活调整。如图4所示,本发明实施例的另一种实施场景,网元的吐出的原始单据也可以由预计算模块直接接收。预计算模块将收到的原始单据解析成数据库记录,同时4艮据可编程预计算配置文件进行指标的统计。在图4所示的实施场景中,包括网元(MSC)、业务信息数据库(原始单据库)、预设计模块和指标库,此外,还有为预设计模块预设的配置文件,在该场景下,本发明实施例所提出的指标计算方法具体包括以下步骤步骤S401和步骤S402与上述的步骤S201和步骤S202相同,即配置文件的设置方式和初始化方式与本发明前述实施例相同,本实施例不再另行详述。完成上述的指标计算准备步骤后,进入指标计算步骤,具体为步骤S403、网元发送CHR给预计算模块。网元直接向预计算模块进行CHR提交,上报业务信息。具体的,本实施例中,业务信息是以CHR为例进行说明,但在实际应用场景中,也可以是其他的数据信息,业务信息内容的变化并不影响本发明的保护范围。步骤S404、预计算模块进行CHR处理和指标计算。在本步骤中,预计算模块对于网元发送来的原始业务信息(即CHR)进行解析处理,也就是将网元发送来的二进制格式的CHR消息切分成一个个数据库字段。另一方面,在预计算模块进行CHR处理的同时,预计算模块还需要进行指标计算,具体过程如下根据步骤S402中已经生成的高效结构数据,当预计算模块处理CHR数据时,就可以采用递归算法,按照独立的树结构设置(公式1到公式4)进行计算,逐层汇总,快速的得到指标计算结果。另一方面,对原始单据进行条件判断的处理(如告警判断等)也可以采用上述方法,本发明在后续的实施例中另有详细的描述,本实施例不再另行赘述。步骤S405、预计算模块发送处理后的CHR信息到业务信息数据库(原始单据库)。发送完成后,由业务信息数据库进行处理后的CHR数据的存储,以备进行后续的数据处理。步骤S406、预计算模块发送指标计算的结果给指标库。完成指标计算后,预计算沖莫块会将计算结果会下发到指标库中进行存储。本步骤与步骤S405之间没有必然的先后顺序。另外,在上述步骤完成后,会返回步骤S403,进行后续的业务信息(如CHR)的指标计算,从而实现预计算模块对指标计算的循环,确保网元上报的CHR信息可以得到及时的处理。而上述的树状结构和数据类型等信息在预设完成并被初始化读取后,无需进行反复设置,保证了指标计算规则的稳定性。而当指标计算MJ'j需要发生变更时,只需更改预计算模块的配置文件,并重启系统,对配置文件重新进行初始化即可,实现了指标计算规则的灵活调整。除了上述的指标计算流程外,基于本发明的技术思想,同样可以实现指标告警流程,如图5所示,包括以下步骤步骤S501和步骤S502与步骤S201和步骤S202中关于指标计算的设置一致,同样可以完成指标计算方法的准备步骤,需要改进的地方在于,在设置预计算模块的配置文件的时候,需要加入指标告警条件的设置。指标告警的配置实现的主要功能是当指标达到某种条件时,产生某个告警。这里条件的配置也采用编程语言(如C语言)表达式的描述方法(和指标的条件类似),样式如表3所示表3指标告警条件设置示意列表<replacetable>complexreplacetableseeoriginaldocumentpage13</replacetable>并且,在系统启动,配置文件初始化的时候,需要同样对指标告警条件进行初始化。步骤S503、预计算模块接收业务信息。步骤S504、预计算模块根据接收的业务信息进行指标计算。步骤S505、预计算模块判断指标计算的结果是否达到指标告警条件。当达到指标告警条件时,转入步骤S506;当未达到指标告警条件时,转入步骤S507。步骤S506、预计算模块发出指标告警。步骤S507、预计算模块发送指标计算结果给指标数据库。如图6所示,为本发明实施例中一种指标告警装置的结构示意图,包括以下结构预设模块61,用于在配置文件中通过编程语言预设数据类型和语法表达式,以及指标告警条件。解析模块62,用于根据预设模块61所预设的语法表达式,生成用于指标计算的树、链表或可执行的代码字段,并对配置文件种预设的数据类型和指标告警条件进行初始化读取。接收模块63,用于接收业务信息。识别模块64,用于识别接收模块63接收的业务信息中的业务字段。其中,具体的识别方式可以是根据预设模块61预设的数据类型,也可以是预设的能够到达识别效果的其他条件。计算模块65,用于将识别模块64所识别的业务字段所对应的单据数据根据预设模块61预设的语法表达式进行指标计算。告警模块66,用于当计算模块65所得到的指标计算结果达到预设模块61预设的指标告警条件时,进行告警。上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。本发明实施例的技术方案具有以下优点,因为采用了指标计算方法,在数据预计算模块或ETL模块的可编程预计算配置文件中直接使用C语言(或其他编程语言)语法来描述运算关系,借用编程语言成熟、准确、清晰、强大的描述能力,解决了目前的适配文件描述方法存在的无法描述复杂关系,与具体业务实现过于紧密、用户难以掌握的缺点。通过本发明所提供的指标计算方法,不仅使指标计算过程保留了代码能实现的复杂关系,而且可以对指标计算规则进行清晰、简单的描述,并且便于指标计算规则的变更和维护。开发者或软件公司可以根据自己的需要选用合适的编程语言语法,且编程语法成熟普遍,一般人员可以迅速掌握配置方法。即使是最终用户,也可以通过简单的培训,迅速的掌握可编程配置文件的修改方法。大大提高了统计软件的可用性、可维护性。通过使用本发明实施例所提出的方案,还使预计算或ETL模块和具体的业务运用彻底分离了。只要通过修改可编程配置文件,就可以将预计算模块运用在不同的领域处理不同的单据,而无需与上层业务软件捆绑开发、发布,大大节省了软件公司的开发成本和缩短版本周期。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。权利要求1、一种指标计算方法,其特征在于,包括以下步骤接收业务信息;识别所述业务信息中的业务字段;当满足所述业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。2、如权利要求1所述指标计算方法,其特征在于,所述接收业务信息之前,还包括以下步骤中的一种或几种分析所述以编程语言设置的语法表达式,生成用于指标计算的树或链表;或,根据所述以编程语言设置的语法表达式,生成可执行的代码字段。3、如权利要求2所述指标计算方法,其特征在于,所述当满足所述业务字段对应的以编程语言设置的条件时,根据以编程语言设置的语法表达式进行指标计算,具体为根据生成的所述树、链表或代码字段,通过所述业务字段所对应的单据数据,进行指标计算。4、如权利要求1所述指标计算方法,其特征在于,所述接收业务信息,具体为通过业务信息数据库接收所述业务信息,所述业务信息数据库用于存储网元上报的所述业务信息;或,接收所述网元上才艮的所述业务信息。5、如权利要求1所述指标计算方法,其特征在于,所述识别业务信息中的业务字段:,具体为根据以编程语言设置的数据类型识别所述业务信息中的业务字段。6、如权利要求1所述指标计算方法,其特征在于,所述满足所述业务字段对应的条件,具体为满足所述业务字段对应的以编程语言设置的条件。7、如权利要求1所述指标计算方法,其特征在于,还包括当所述业务信息达到所述预设的告警条件时,进行告警,所述告警条件通过所述以编程语言设置的语法表达式进行设置。8、如权利要求1或7中任意一项所述指标计算方法,其特征在于,所述编程语言设置的数据类型和所述以编程语言设置的语法表达式,具体为在抽取转化加载模块ETL或预计算模块的配置文件中,通过编程语言进行设置。9、一种指标计算装置,其特征在于,包括以下步骤接收模块,用于接收业务信息;识别模块,用于识别所述接收模块接收的业务信息中的业务字段;计算模块,用于当满足所述识别模块所识别的业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。10、如权利要求9所述指标计算装置,其特征在于,还包括预设模块,用于以编程语言设置所述语法表达式;解析模块,用于根据所述预设模块以编程语言设置的的语法表达式,生成用于指标计算的树、链表或可执行的代码字段。11、如权利要求9所述指标计算装置,其特征在于,还包括告警模块,用于当所述计算模块所得到的指标计算结果达到所述预设的告警条件时,进行告警。全文摘要本发明实施例公开了一种指标计算方法和装置。所述方法包括以下步骤接收业务信息;识别所述业务信息中的业务字段;当满足所述业务字段对应的条件时,根据以编程语言设置的语法表达式进行指标计算。通过应用本发明,利用编程语言描述指标计算规则,达到了在实现清晰、准确的描述复杂运算关系的基础上,简化运算规则更新过程的效果。文档编号H04M3/22GK101345654SQ20081013092公开日2009年1月14日申请日期2008年8月30日优先权日2008年8月30日发明者骏贾申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1