一种北向数据转换方法和装置与流程

文档序号:12063323阅读:1049来源:国知局
一种北向数据转换方法和装置与流程

本发明涉及通信领域,具体涉及一种北向数据转换方法和装置。



背景技术:

电信网管在世界范围内已经广泛使用,但是不同的设备供应商提供的数据模型和配置方式也各不相同,运营商为了统一管理这些数据,定义了一套自身的北向规范,要求各设备商把内部数据转换为符合运营商规范的北向数据。为了适应不同运营商的北向规范,需要为每个运营商分别设计和实现一套北向算法。这套转换规则,有大量的数据映射和数据转换算法,有些算法还相当复杂。以往的做法是先分析出运营商北向模型以及模型转换算法,写成文档,然后交由开发人员实现。

通常北向规范实现文档,需要业务分析和系统设计人员一起花费大量的时间编写。开发人员拿到文档之后,又需要花费大量精力去理解文档,然后才能去实现这套规范。由于文档描述内容的复杂性,开发人员对文档的内容必然会有很多看不明白的地方,需要向文档的编写者,多次咨询,这个过程费时耗力。而且文档编写者对于内容的传递难免会与其真实意图存在偏差,导致实现与需求不一致,需要返工。



技术实现要素:

本发明要解决的主要技术问题是,提供一种北向数据转换方法和装置,解决现有实现北向数据转换需编写代码并进行测试等繁琐工作的问题。

为解决上述问题,本发明提供一种北向数据转换方法,包括:

利用自然语言编码生成基本原语组件库;

获取各运营商北向模型的转换规则,从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件;

获取数据源,判断所述数据源对应的运营商,查找对应的北向模型描述文件,根据查找到的北向模型描述文件将所述数据源转换成北向数据。

在本发明的一种实施例中,所述利用自然语言编码生成基本原语组件库包括:对各运营商的北向模型的转换规则分析,确定出转换规则中通用固定的转换算法;将所述转换算法利用自然语言编写出对应的基本原语组件,所有的基本原语组件构成所述基本原语组件库。

在本发明的一种实施例中,所述自然语言包括Groovy语言、Clojure语言或Scala语言。

在本发明的一种实施例中,所述从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件包括:从基本原语组件库中选择相应的基本原语组件,利用选择的基本原语组件对转换规则中的各基本规则进行自然语言的描述,生成各基本规则对应的基本规则描述语句;所述转换规则的所有基本规则对应的基本规则描述语句构成北向模型描述文件。

在本发明的一种实施例中,所述基本规则描述语句包括表基本规则描述语句和/或字段基本规则描述语句。

在本发明的一种实施例中,所述表基本规则描述语句包括单表基本规则描述语句和/或多表基本规则描述语句。

在本发明的一种实施例中,所述字段基本规则描述语句包括拷贝字段基本规则描述语句和/或查找拷贝字段基本规则描述语句。

为解决上述问题,本发明还提供一种北向数据转换装置,包括原语生成模 块、规则描述模块和北向转换模块:

所述原语生成模块用于利用自然语言编码生成基本原语组件库;

所述规则描述模块用于获取各运营商北向模型的转换规则,从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件;

所述北向转换模块用于获取数据源,判断所述数据源对应的运营商,查找对应的北向模型描述文件,根据查找到的北向模型描述文件将所述数据源转换成北向数据。

在本发明的一种实施例中,所述原语生成模块还用于对各运营商的北向模型的转换规则分析,确定出转换规则中通用固定的转换算法;将所述转换算法利用自然语言编写出对应的基本原语组件,所有的基本原语组件构成所述基本原语组件库。

在本发明的一种实施例中,所述规则描述模块还用于从基本原语组件库中选择相应的基本原语组件,利用选择的基本原语组件对转换规则中的各基本规则进行自然语言的描述,生成各基本规则对应的基本规则描述语句;所述转换规则的所有基本规则对应的基本规则描述语句构成北向模型描述文件。

本发明的有益效果是:

本发明提供的北向数据转换方法和装置,利用自然语言编码生成基本原语组件库;获取各运营商北向模型的转换规则,从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件;获取数据源,判断数据源对应的运营商,查找对应的北向模型描述文件,根据查找到的北向模型描述文件将数据源转换成北向数据。与现有技术相比,只需要根据基本原语组件进行各运营商北向模型的转换规则的描述,就可以快速准确地得到 符合运营商要求的北向数据,避免现有先写出转换规则文档,再实现根据对应转换规则进行解析和转换的工作流程,节省了中间传递环节,并且改善了需要重复编写代码并进行测试的工作现状,极大地提高了效率和准确性。

附图说明

图1为本发明实施例一提供的北向数据转换方法流程图;

图2为本发明实施例二提供的北向数据转换装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

本申请实施例的提供北向数据转换方法,如图1所示,该方法包括:

S101:利用自然语言编码生成基本原语组件库;

在该步骤中,这里的自然语言是指不需要进行编码就能识别和运行的语言,具体的可以是Groovy语言、Clojure语言或Scala语言;具体的基本原语组件库中的基本原语组件是根据各个运营商的北向模型规范的转换规则进行分析和总结,而得到一组通用固定原语,可以描述各种北向数据转换算法,就为预设基本原语组件;具体的对各运营商的北向模型的转换规则分析,确定出转换规则中通用固定的转换算法;将转换算法利用自然语言编写出对应的基本原语组 件,所有的基本原语组件构成基本原语组件库,即根据对各个运营商的北向模型规范的转换规则进行总结,将转换规则中的算法中一些常见的可以进行算法描述的语句提取出来,设置为基本原语组件。以自然语言Groovy语言为例进行说明,具体的generateData、copy…to、to、do…then、do…end、and、transfer、multiple…,值得注意的是Groovy语言是实现原语组件所要描述的功能,也可以使用其他语言实现。

S102:获取各运营商北向模型的转换规则,从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件;

在该步骤中,具体的利用从基本原语组件库中选择相应的基本原语组件,利用选择的基本原语组件对转换规则中的各基本规则进行自然语言的描述,生成各基本规则对应的基本规则描述语句;转换规则的所有基本规则对应的基本规则描述语句构成北向模型描述文件。应该理解为,一个转换规则中存在至少一个基本规则,具体基本规则可以是某个把数据源文件的几个字段的值,经过某种运算得到另外一个字段的值。例如有A、B和C三个运营商,他们的北向模型对应的转换规则分别是规则1、规则2和规则3;根据预设基本原语组件来进行规则1、规则2和规则3的描述,生成对应的北向模型描述文件1、北向模型描述文件2和北向模型描述文件3,而不是进行各自对自己的规则进行编码处理,假如规则1中有基本规则11和基本规则12;基本规则11是通过基本原语组件copy…to和相应自然语言构成,基本规则12是通过基本原语组件do…then和相应自然语言构成。就应该从基本原语组件库中选择copy…to和do…then来进行规则1的描述,构成北向模型描述文件1。

S103:获取数据源,判断数据源对应的运营商,查找对应的北向模型描述文件,根据查找到的北向模型描述文件将数据源转换成北向数据。

在该步骤中,具体的得到数据源后,应该判断其对应的运营商,即找到如何对该数据源进行转换,例如当前获取的数据源是运营商A,那么找到北向模型描述文件1。值得注意是,北向模型描述文件是是一个文本文件,存放的内容是用基本原语组件描述的北向模型转换算法,为了便于后续处理,以特定的文件扩展名命名(比如*.dnaf),后续只要根据文件的扩展名,挨个解析这些北向模型描述文件,生成符合北向规范的数据,即生成北向数据。对北向模型描述文件解析和运行就可以将数据源生成为北向数据。

具体的,基本规则描述语句包括表基本规则描述语句和/或字段基本规则描述语句。具体的,所述表基本规则描述语句包括单表基本规则描述语句和/或多表基本规则描述语句,所述字段基本规则描述语句包括拷贝字段基本规则描述语句和/或查找拷贝字段基本规则描述语句。多表基本规则描述语句包括多表和基本规则描述语句和表乘基本规则描述语句中的至少一种。字段基本规则描述语句包括拷贝字段基本规则描述语句和/或查找拷贝字段基本规则描述语句。具体的,拷贝字段基本规则描述语句包括一对一直接拷贝基本规则描述语句、拷贝固定值基本规则描述语句和拷贝固定值基本规则描述语句中的至少一种查找拷贝基本规则描述语句包括查找父对象的字段直接拷贝基本规则描述语句、查找子对象的字段直接基本规则描述语句和根据关键字查找拷贝基本规则描述语句中的至少一种。应该理解为,所用用来对转换规则中的各基本规则进行自然语言的描述的都可以作为基本规则描述语句。

以下对具体的北向模型描述文件进行举例说明,值得注意是,本实施例中数据源是一个或几个csv文件,目标数据是另一个csv文件,引号引起来的部分是具体的对象,比如是csv文件的名字,或者是文件中某个字段名字:应该理解为不仅限于csv文件,Ml文件,CSV文件,数据库文件等也可以。

单表基本规则描述语句可以是

from`UBPriAc`generateData do

copy`URncFunction`to`rncid`

copy`parentRecord.profileId`to`BPriAcIndex`

then to`BPriAc`

即从`UBPriAc`取数据,将`URncFunction`拷贝成`rncid`,将`parentRecord.profileId`拷贝成`BPriAcIndex`,生成`BPriAc`。

多表和基本规则描述语句可以是

from`UHspa`generateData do

copy`0`to`HspaType`

then to`ExtHspa`

and

from`UCommEdch`generateData do

copy`1`to`HspaType`

then to`ExtHspa`

即从`UHspa`取数据,将`0`拷贝成`HspaType`,生成到`ExtHspa`,从`UCommEdch`取数据,将`1`拷贝成`HspaType`,也生成到`ExtHspa`。

还可以判断表是否存在,从而在不同的表里拷贝数据

即先判断`UMPO`是否存在,如果存在,关联`UUtranCellFDD`的`parent.moi`,且值为`parent.refUMPOProfile`,得到多个`UMPO`,对于每个`UMPO`,将`URncFunction`拷贝成`rncid`,将`cid`拷贝成`cid`生成到`ExtHspa`,将`app64QamInd`,`appMimoInd`,`appDcHsdpaInd`转换成Int,然后拷贝到`AppHsdpaEInd`,最后将结果汇总到`CelMPO`。

先判断`UCellMpo`是否存在,如果存在,从`UCellMpo`取数据,将`app64QamInd`,`appMimoInd`,`appDcHsdpaInd`转换成Int,然后拷贝到`AppHsdpaEInd`,生成``CelMPO`。

表乘基本规则描述语句可以是,这里以两个表的乘为例

即关联`UUtranCellFDD`的`parent.moi`,且值为`parent.refUMPOProfile`,得到多个`UMPO`,对于每个`UMPO`,将`URncFunction`拷贝成`rncid`,将`cid`拷贝成`cid`,将`app64QamInd`,`appMimoInd`,`appDcHsdpaInd`转换成Int,然后拷贝到`AppHsdpaEInd`,最后将结果汇总到`CelMPO`。

一对一直接拷贝COPY,例如copy`URncFunction`to`rncid`;即将`URncFunction`拷贝成`rncid`。

拷贝COPY固定值,例如copy`0`to`HspaType`;即是将`0`拷贝成`HspaType`。

拷贝COPY固定格式,例如copy`Subnetwork=`append`rncid`append`;ne=`append`neid`to`dn`;即将`rncid`和`neid`格式化为`Subnetwork=rncid;ne=neid`,然后拷贝成`dn`。

查找父对象的字段直接COPY拷贝,例如copy`parent.profileId`to`BPriAcIndex`,即将`parent.profileId`拷贝成`BPriAcIndex`。

查找子对象的字段直接COPY拷贝,例如

copy`rabAssLBSw`of child of`UPIBal`to`rabAssLBSw`

copy array from`aaa`of children of`UCelSel`to`rabAssLBSw`

即将`UPIBal`子对象的`rabAssLBSw`拷贝成`rabAssLBSw`。

将`UCelSel`的子对象们变成数组后拷贝到`rabAssLBSw`。

根据关键字ref查找,例如

copy`parent.refLocalPlmnGroup.refPlmnGroup.mcc`to`MCC`;即将`parent.refLocalPlmnGroup.refPlmnGroup.mcc`拷贝到`MCC`。

值得注意的是,本实例中的北向数据转换方法,既可以实现从数据源到北向数据的转换(提供通过北向业务查询数据的功能),也可以实现从北向数据到数据源的转换(提供通过北向业务修改数据的功能)。采用本实施例的方法实现北向数据的转换,电信北向模型接口,只需要根据原语组件,进行业务描述,写出所需的北向模型文件,就可以快速准确地提供符合运营商要求的北向定制接口。改变了以往先写出模型文档,再实现定制接口的工作流程,节省了中间传递环节,并且改善了需要重复编写代码并进行测试的工作现状,极大地提高了效率和准确性。

实施例二:

本申请实施例提供一种北向数据转换装置200,包括原语生成模块201、规则描述模块202和北向转换模块203:原语生成模块201用于利用自然语言编码生成基本原语组件库;规则描述模块202用于获取各运营商北向模型的转换规则,从基本原语组件库中选择相应的基本原语组件描述对应的转换规则,生成对应的北向模型描述文件;北向转换模块203用于获取数据源,判断数据源对应的运营商,查找对应的北向模型描述文件,根据查找到的北向模型描述文件将数据源转换成北向数据。

具体的,原语生成模块201还用于对各运营商的北向模型的转换规则分析,确定出转换规则中通用固定的转换算法;将转换算法利用自然语言编写出对应的基本原语组件,所有的基本原语组件构成基本原语组件库。

具体的,规则描述模块202还用于从基本原语组件库中选择相应的基本原语组件,利用选择的基本原语组件对转换规则中的各基本规则进行自然语言的描述,生成各基本规则对应的基本规则描述语句;转换规则的所有基本规则对应的基本规则描述语句构成北向模型描述文件。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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