一种话单入库方法及装置与流程

文档序号:11458602阅读:282来源:国知局
一种话单入库方法及装置与流程

本发明涉及话单存储技术,尤其涉及一种话单入库方法及装置。



背景技术:

在大数据时代,话单是运营商最重要的数据源之一,话单入库是后续分析的基础。现有话单入库系统通过专门的接口机引入下一代业务运营支撑系统(ngboss,nextgenerationbusinessoperationsupportsystem)话单文件,然后解析、存储、入库。具体而言:针对定长话单,现有技术方案是基于话单的固定格式,然后逐字解析入库。而针对变长话单,则通过预留足够长的字段,然后批量入库。

现有技术中公开了一种话单处理方法,其所述方法包含:1)话单数据读取模块读取话单文件中的话单数据;2)话单数据解析模块根据预设的解析配置信息对所述话单数据读取模块所读取的话单数据进行解析并生成预设格式的解析结果数据;3)话单数据分析模块根据预设的分析配置信息对所述解析结果数据进行分析并生成分析结果数据。现有技术中还公开了一种话单格式转换方法,该方法包括:1)对接收到的定长格式话单进行分拣、预处理,并将处理后的定长格式话单转换为变长格式话单;2)对变长格式话单进行批价、合帐处理,并将处理后的变长格式话单转换为定长格式话单;3)将批价、合帐处理后的定长格式话单进行入库。该方法进行处理的过程中可以根据需要在话单中预留多个字段,满足不同需求。现有技术中又公开了一种话单入库的系统及方法,该方法包括:1)话单格式转换接口机用来从业务处理机上下载原始话单并将原始话单进行格式转换;2)话单批量入库接口机用来将话单导入到中间库,中间库用来存放导入的话单;3)查询分析库用来存放抽取的话单。

现有技术在处理“变长话单”入库时,主要有以下两个缺点:1)浪费存储空间;由于话单长度不一,现有方法通常预留了足够长的字段空间,以便容纳最大长度话单。而大多数较短的话单为了字段对齐,占用原本不需要的空间,因此造成了存储空间的浪费。2)影响查询性能;由于话单变长,现有技术难以静态解析话单起始位、结束位,因此,话单变长部分并未分割,而是作为一个整体入库,这样在需要查询变长部分的特定字段时,就需要临时分割(如调用substr函数)。字段临时分割带来性能开销,不利于细粒度的查询分析,从而降低了分析人员的查询和分析效率。



技术实现要素:

有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种话单入库方法及装置,能够通过拆分变长话单的定长部分和变长部分,以及将定长部分和变长部分分别保存到数据表,使得字段对齐,从而节约了存储空间。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种话单入库方法,所述方法包括:

读取话单文件;

获取所述话单文件的接口号,按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单;

如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;

确定所述话单文件的总长度l;

根据l=m+k*n确定重复次数k;

解析所述话单文件中的所述m和每一所述n,将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2。

在本发明的一种实施例中,所述将所述m映射到第一数据库t1,将每一 所述n映射到第二数据表t2,包括:

将所述m的一个实例映射到t1一条记录,同时增加行号字段作为主键;将每一所述n的一条实例对应地映射到t2的k条记录,每条记录增加行号字段作为主键,所述行号用于后续将所述m与每一所述n关联起来。

在本发明的一种实施例中,所述方法还包括:

从话单数据库采集一条话单数据;

根据预定规则将话单数据生成话单文件,其中预定规则为话单文件的左侧为定长部分,右侧为变长部分。

在本发明的一种实施例中,按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单,包括:

按照所述接口号查询所述话单文件的配置信息的解析信息;

根据所述解析信息判断所述话单文件的长度是否为变长话单。

在本发明的一种实施例中,所述方法还包括:

如果为定长话单,获取所述话单文件的解析信息和入库信息,根据所述解析信息对所述话单文件进行格式转换;

根据所述入库信息将格式转换后的话单文件映射到第一数据表t1。

第二方面,本发明实施例提供一种话单入库装置,所述装置包括读取单元、第一获取单元、查询单元、第二获取单元、第一确定单元、第二确定单元、解析单元和映射单元,其中:

所述读取单元,用于读取话单文件;

所述第一获取单元,用于获取所述话单文件的接口号;

所述查询单元,用于按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单;

所述第二获取单元,用于如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;

所述第一确定单元,用于确定所述话单文件的总长度l;

所述第二确定单元,用于根据l=m+k*n确定重复次数k;

所述解析单元,用于解析所述话单文件中的所述m和每一所述n;

所述映射单元,用于将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2。

在本发明的一种实施例中,所述映射单元包括第一映射子单元、第二映射子单元,其中:

所述第一映射子单元,用于将所述m的一个实例映射到t1一条记录,同时增加行号字段作为主键;

所述第二映射子单元,用于将每一所述n的一条实例对应地映射到t2的k条记录,每条记录增加行号字段作为主键,所述行号用于后续将所述m与每一所述n关联起来。

在本发明的一种实施例中,所述装置还包括采集单元和生成单元,其中:

所述采集单元,用于从话单数据库采集一条话单数据;

所述生成单元,用于根据预定规则将话单数据生成话单文件,其中预定规则为话单文件的左侧为定长部分,右侧为变长部分。

在本发明的一种实施例中,所述查询单元包括查询子模块和判断子模块,其中:

所述查询子模块,用于按照所述接口号查询所述话单文件的配置信息的解析信息;

所述判断子模块,用于根据所述解析信息判断所述话单文件的长度是否为变长话单。

在本发明的一种实施例中,所述装置还包括第三获取单元和保存单元,其中:

所述第三获取单元,用于如果为定长话单,获取所述话单文件的解析信息和入库信息,根据所述解析信息对所述话单文件进行格式转换;

所述保存单元,用于根据所述入库信息将格式转换后的话单文件映射到第一数据表t1。

本发明实施例提供的一种话单入库方法及装置,其中,读取话单文件;获取所述话单文件的接口号,按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单;如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;确定所述话单文件的总长度l;根据l=m+k*n确定重复次数k;解析所述话单文件中的所述m和每一所述n,将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2;如此,通过拆分变长话单的定长部分和变长部分,以及将定长部分和变长部分分别保存到数据表,使得字段对齐,从而节约了存储空间。

附图说明

图1为本发明实施例一话单入库方法的实现流程示意图;

图2-1中为本发明实施例二话单入库装置的结构示意图;

图2-2为本发明实施例二话单入库方法的实现流程示意图;

图3为本发明实施例三话单入库装置的组成结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

实施例一

为了解决前述背景技术中存在的问题,本发明实施例提供一种话单入库方法,该方法应用于计算设备,该方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。

图1为本发明实施例一话单入库方法的实现流程示意图,如图1所示,该信息处理方法包括:

步骤s101,读取话单文件;

步骤s102,获取所述话单文件的接口号,按照所述接口号码查询所述话单 文件的配置信息确定所述话单文件是否为变长话单;

这里,配置信息一般包括解析信息和入库信息,其中解析信息包括话单是否变长、各字段起始位、结束位、数据类型、m、n等信息,用于主要完成格式转换;入库信息包括对应的数据库、表、字段名等,用于供入库单元保存到目标数据库。

步骤s103,如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;

步骤s104,确定所述话单文件的总长度l;

这里,话单文件的总长度l可以根据话单文件起始位和结束位来确定。

步骤s105,根据l=m+k*n确定重复次数k;

步骤s106,解析所述话单文件中的所述m和每一所述n,将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2。

这里,所述将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2,包括:

将所述m的一个实例映射到t1一条记录,同时增加行号(rowid)字段作主键;将每一所述n的一条实例对应地映射到t2的k条记录,每条记录增加行号(rowid)字段,所述rowid用于后续将所述m与每一所述n关联起来。

本发明实施例中,所述方法还包括:

步骤s107,从话单数据库采集一条话单数据;

步骤s108,根据预定规则将话单数据生成话单文件,其中预定规则为话单文件的左侧为定长部分,右侧为变长部分。

本发明实施例中,按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单,包括:

按照所述接口号查询所述话单文件的配置信息的解析信息;

根据所述解析信息判断所述话单文件的长度是否为变长话单。

本发明实施例中,所述方法还包括:

如果为定长话单,获取所述话单文件的解析信息和入库信息,根据所述解析信息对所述话单文件进行格式转换;

根据所述入库信息将格式转换后的话单文件映射到第一数据表t1。

本发明实施例提中,读取话单文件;获取所述话单文件的接口号,按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单;如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;确定所述话单文件的总长度l;根据l=m+k*n确定重复次数k;解析所述话单文件中的所述m和每一所述n,将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2;如此,通过拆分变长话单的定长部分和变长部分,以及将定长部分和变长部分分别保存到数据表,使得字段对齐,从而节约了存储空间。

实施例三

本实施例针对以上问题提出了一种话单入库方法,其中话单包括定长话单和变长话单,其中:变长话单的特征为:l=m+k*n,其中m、n为常数,k可变,m代表话单的定长部分,k*n代表话单的变长部分,n为变长部分的基本单元,k为n的重复次数,l表示变长话单的总长度。

图2-1中为本发明实施例话单入库装置的结构示意图,如图2-1所示,该装置包括话单采集模块、话单入库模块、话单分析模块,其中:

话单采集模块,用于从ngboss采集和生成话单文件。话单文件行代表一条话单数据。话单数据按业务类型格式分配唯一的接口号,从接口号可以快速查询话单属性。特别地,约定话单左侧为定长部分,右侧为可选的变长部分;话单采集模块在生成变长话单的时候,需要满足对变长格式的约定。

话单入库模块,用于负责读取话单文件、缓存话单数据并解析入库,具体包括:配置信息单元、解析单元和存储单元。其中,

配置信息包含了解析格式和入库结构的对应关系。配置信息分两类,分别 为解析信息和入库信息,其中解析信息包括话单是否变长、各字段起始位、结束位、数据类型等,主要完成格式转换;入库信息包括对应的数据库、表、字段名等,供入库单元保存到目标数据库。由于对定长和变长话单区分处理,各字段对齐,节约了存储空间。

首先,配置信息单元,用于根据接口号查询配置信息的相应字段,得到话单长度是否固定值的结果,其中,配置信息中包括一个字段,该字段用于表明话单的长度是否为固定值,其中如果话单的长度为固定值,则表明该话单为定长话单;如果话单的长度为非固定值,则表明该话单为变长话单。如果话单长度固定,则根据接口号从配置单元得到各字段的解析信息(如各字段起始位、结束位、数据类型等),接着逐行分割,映射到数据库表的对应字段,此过程和传统话单入库方法一样,故不再赘述。如果话单长度可变,则通过接口号进一步得此变长话单的配置信息m、n,同时根据文件行的长度l动态计算变长部分的重复次数k=(l-m)/n;

接下来解析如下:解析单元,用于先解析左侧m部分(组成m的各字段起始位、结束位、数据类型),然后循环k次解析右侧n部分(组成n的各字段起始位、结束位、数据类型)。

解析完成后,存储单元,用于记录行号并生成主键(rowid),对m和n分别映射到数据库的表t1和t2。具体映射方法如下:其中m的一个实例映射到t1一条记录,同时增加行号(rowid)字段作为主键;其中n的一条实例映射到另一张数据表t2,对应k条记录,每条记录增加行号(rowid)字段,rowid字段作为后续关联之用。一般来说,行号是唯一的,因此行号可以作为话单的标识信息,当然可以作为话单的键值。在本发明的另一实施例中,还可以根据行号和预定的规则生成主键,例如,将行号和表示日期的数字生成主键,或者将行号与1之和作为主键。

话单分析模块,用于负责话单分析。主要支持三种查询用法:1)查询定长部分的字段;2)查询变长部分的字段;3)同时查询定长和变长部分的字段。话单入库后,由于查询可以细化到字段,提升了查询效率。

下面结合图2-1,来说明一种话单入库的方法和系统的具体流程,图2-2为本发明实施例二话单入库方法的实现流程示意图,如图2-2所示,该流程包括:

步骤s201:读取话单文件;

这里,所述话单文件的文件名包含了文件的接口号。

步骤s202:通过文件的接口号,首先判断话单是变长。

这里,对定长话单和变长话单,分别进行不同的处理方式。对定长话单,则根据接口号从配置单元得到各字段的解析信息(如各字段起始位、结束位、数据类型等),接着逐行分割,完成格式转换。对变长话单,则通过接口号进一步得此变长话单的配置信息m、n,同时根据文件行的长度l动态计算变长部分的重复次数k=(l-m)/n,接下来解析如下:先解析m部分,然后循环k次解析n部分,完成格式转换。

步骤s203:定长格式映射到数据库表t1,此过程和传统话单入库方法一样。变长格式映射到数据库的表t1和t2。

这里,具体映射方法如下:其中m的一个实例映射到t1一条记录;其中n的一条实例映射到另一张数据表t2,对应k条记录。由于对定长和变长话单区分处理,数据库t1和t2各字段对齐,节约了存储空间。

步骤s204:负责话单分析。

这里,主要支持三种查询用法:1)查询定长部分的字段;2)查询变长部分的字段;3)同时查询定长和变长部分的字段。话单入库后,由于查询可以细化到字段,从而提升了查询效率。

至此,一次话单入库的流程结束,进行下一次话单的入库。

本发明实施例中区别于现有技术的技术特征包括:1)定义变长话单的格式特征。2)针对变长话单的解析和入库处理,具有节约存储空间的特征。3)话单入库后,后续查询细化到字段,可提升查询效率。

从以上实施例中可以看出,在在步骤s302中,对定长话单和变长话单的区分解析;针对变长话单,结合静态配置和动态长度,完成格式转换。在步骤s303中,对定长话单和变长话单入库的处理;通过拆分定长和变长部分,分别保存 到数据库不同的表,使得字段对齐,从而节约了存储空间。在步骤s304中,对变长话单的查询,可以直接定位到变长部分的字段,无需临时分割(不用反复调用substr函数)。与现有技术相比,本发明实施例具有如下技术优点:1)本实施例建立了一种变长话单的文件格式,可以区分话单的变长属性;2)本实施例针对变长话单的解析入库,节约存储空间;3)本实施例中话单入库字段规整,有利于提升查询效率。

实施例三

基于前述的实施例,本发明实施例提供一种话单入库装置,所述话单入库装置所包括的各单元,以及各单元所包括的各子单元,都可以通过计算设备中的处理器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。在具体实现的过程中,所述计算设备可以为任何具有计算能力的电子设备,例如个人计算机、服务器、笔记本电脑等;

图3为本发明实施例三话单入库装置的组成结构示意图,如图3所示,该装置300包括读取单元301、第一获取单元302、查询单元303、第二获取单元304、第一确定单元305、第二确定单元306、解析单元307和映射单元308,其中:

所述读取单元301,用于读取话单文件;

所述第一获取单元302,用于获取所述话单文件的接口号;

所述查询单元303,用于按照所述接口号码查询所述话单文件的配置信息确定所述话单文件是否为变长话单;

所述第二获取单元304,用于如果所述话单文件为变长话单,获取所述话单文件的配置信息,所述配置信息至少包括m、n,其中m、n为常数、m代表话单的定长部分,n为变长部分的基本单元;

所述第一确定单元305,用于确定所述话单文件的总长度l;

所述第二确定单元306,用于根据l=m+k*n确定重复次数k;

所述解析单元307,用于解析所述话单文件中的所述m和每一所述n;

所述映射单元308,用于将所述m映射到第一数据库t1,将每一所述n映射到第二数据表t2。

本发明实施例中,所述映射单元包括第一映射子单元、第二映射子单元,其中:

所述第一映射子单元,用于将所述m的一个实例映射到t1一条记录,同时增加rowid字段作主键;

所述第二映射子单元,用于将每一所述n的一条实例对应地映射到t2的k条记录,每一条记录增加行号rowid字段,所述rowid用于后续将所述m与每一所述n关联起来。

本发明实施例中,所述装置还包括采集单元和生成单元,其中:

所述采集单元,用于从话单数据库采集一条话单数据;

所述生成单元,用于根据预定规则将话单数据生成话单文件,其中预定规则为话单文件的左侧为定长部分,右侧为变长部分。

本发明实施例中,所述查询单元包括查询子模块和判断子模块,其中:

所述查询子模块,用于按照所述接口号查询所述话单文件的配置信息的解析信息;

所述判断子模块,用于根据所述解析信息判断所述话单文件的长度是否为变长话单。

本发明实施例中,所述装置还包括第三获取单元和保存单元,其中:

所述第三获取单元,用于如果为定长话单,获取所述话单文件的解析信息和入库信息,根据所述解析信息对所述话单文件进行格式转换;

所述保存单元,用于根据所述入库信息将格式转换后的话单文件映射到第一数据表t1。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约 篇幅,因此不再赘述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中, 也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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