《一种消息导入方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种消息导入方法及装置.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102394763 A (43)申请公布日 2012.03.28 C N 1 0 2 3 9 4 7 6 3 A *CN102394763A* (21)申请号 201110210422.8 (22)申请日 2011.07.26 H04L 12/24(2006.01) H04L 29/08(2006.01) H04L 1/00(2006.01) (71)申请人大唐移动通信设备有限公司 地址 100083 北京市海淀区学院路29号 (72)发明人刘舰 曾宪铎 (74)专利代理机构北京同达信恒知识产权代理 有限公司 11291 代理人刘松 (54) 发明名称 一种消息导入方。
2、法及装置 (57) 摘要 本发明公开了一种消息导入方法及装置,以 提高消息导入到数据内存表中的速度和节省内存 开支,从而解决现有技术中导入消息速度较慢、占 用内存较多的问题;方法包括:针对待导入文件 中记录的每条待导入消息,对该每条待导入消息 进行解析得到对应的至少一个字段,并将所述至 少一个字段写入到数据文件中;依此,将所述待 导入文件中记录的所有待导入消息解析得到的对 应字段写入到所述数据文件中;将所述数据文件 中记录的各待导入消息解析得到的对应字段导入 到内存数据表中。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页。
3、 附图 5 页 CN 102394772 A 1/2页 2 1.一种消息导入方法,其特征在于,包括: 针对待导入文件中记录的每条待导入消息,对该每条待导入消息进行解析得到至少一 个字段,并将所述至少一个字段写入到数据文件中;依此,将所述待导入文件中记录的所有 待导入消息解析得到的对应字段写入到所述数据文件中; 将所述数据文件中记录的各待导入消息解析得到的对应字段导入到内存数据表中。 2.如权利要求1所述的方法,其特征在于,将每条待导入消息解析得到的至少一个字 段写入到数据文件中,包括: 写入与所述每条待导入消息对应的新记录的开始标识; 按照所述数据文件的语法规则,将所述至少一个字段拼成所述新记。
4、录的各字段及其取 值的信息; 将拼成的所述新记录的信息写入到所述数据文件中; 写入所述新记录的结束标识。 3.如权利要求2所述的方法,其特征在于,还包括: 在所述数据文件中写入所述待导入文件中记录的待导入消息之前,写入所述数据文件 的开始标识; 在所述数据文件中写入所述待导入文件中记录的所有待导入消息之后,写入所述数据 文件的结尾标识。 4.如权利要求13任一项所述的方法,其特征在于,在对所述待导入文件中记录的待 导入消息进行解析之前,还包括:在第三方数据表中定义需要显示的字段;获取所述第三 方数据表中各字段对应的字段头信息,并将获取的字段头信息写入到所述数据文件中,所 述字段头信息包括字段名。
5、称和类型; 将所述至少一个字段写入到数据文件中,包括: 针对所述至少一个字段中的每个字段,将该每个字段的字段信息写入到所述数据文件 中与该每个字段对应的字段头信息所在的位置,所述每个字段的字段名称与其对应的字段 头信息的字段名称一致。 5.如权利要求13任一项所述的方法,其特征在于,所述数据文件为可扩展标记语 言XML文件、超文本链接标示语言HTML文件、可扩展样式表语言XSL文件或结构化数据交 换格式SDXF文件。 6.如权利要求5所述的方法,其特征在于,所述待导入文件为呼叫详细日志CDL文件, 所述待导入消息为CDL消息。 7.一种消息导入装置,其特征在于,包括: 消息解析单元,用于针对待。
6、导入文件中记录的每条待导入消息,对该每条待导入消息 进行解析得到至少一个字段; 字段写入单元,用于将所述消息解析单元解析所述每条待导入消息得到的至少一个字 段写入到数据文件中,依此,将所述待导入文件中记录的所有待导入消息解析得到的对应 字段写入到所述数据文件中; 消息导入单元,用于将所述数据文件中记录的各待导入消息对应的字段导入到内存数 据表中。 8.如权利要求7所述的装置,其特征在于,所述字段写入单元将每条待导入消息解析 权 利 要 求 书CN 102394763 A CN 102394772 A 2/2页 3 得到的至少一个字段写入到数据文件中,具体应用为: 写入与所述每条待导入消息对应的。
7、新记录的开始标识; 按照所述数据文件的语法规则,将所述至少一个字段拼成所述新记录的各字段及其取 值的信息; 将拼成的所述新记录的信息写入到所述数据文件中; 写入所述新记录的结束标识。 9.如权利要求8所述的装置,其特征在于,所述字段写入单元进一步用于,在所述数据 文件中写入所述待导入文件中记录的待导入消息之前,写入所述数据文件的开始标识;以 及, 在所述数据文件中写入所述待导入文件中记录的所有待导入消息之后,写入所述数据 文件的结尾标识。 10.如权利要求79任一项所述的装置,其特征在于,还包括字段定义单元和字段头 信息获取单元,其中: 字段定义单元,用于在第三方数据表中定义需要显示的字段; 。
8、字段头信息获取单元,用于获取所述第三方数据表中各字段对应的字段头信息,并将 获取的字段头信息写入到所述数据文件中,所述字段头信息包括字段名称和类型; 所述字段写入单元将所述至少一个字段写入到数据文件中,具体应用为:针对所述至 少一个字段中的每个字段,将该每个字段的字段信息写入到所述数据文件中与该每个字段 对应的字段头信息所在的位置,所述每个字段的字段名称与其对应的字段头信息的字段名 称一致。 权 利 要 求 书CN 102394763 A CN 102394772 A 1/5页 4 一种消息导入方法及装置 技术领域 0001 本发明涉及通信领域,尤其涉及一种消息导入方法及装置。 背景技术 00。
9、02 通信设备在运行过程中需要经常对网络运营情况进行评估,如需要记录网络运 行过程中的一些日志文件(如呼叫详细日志(即CDL)。网元(如RNC(Radio Network Controller,无线网络控制器)在运行过程中记录CDL并保存;该网元通过FTP(File Transfer Protocol,文件传输协议)方式下载保存的CDL文件,并将下载得到的CDL文件 通过导入到统计分析工具(如CDL分析工具)中,以对CDL中记录的消息进行逐条查看和 统计。 0003 目前,在将CDL文件导入到CDL分析工具中时,需要将CDL文件中记录的所有CDL 消息逐条读入到内存数据表中,并对每条CDL消息。
10、进行解析,将解析得到的结果显示在CDL 分析工具的窗口中,具体实现如下: 0004 针对CDL文件中记录的每条CDL消息,从CDL文件中提取该CDL消息,并对该CDL 消息进行解析之后插入到内存数据表中;采用该种方式,当CDL文件记录的CDL消息较多 时,采用该种将CDL消息逐条插入到内存数据表的方式,存在耗费较大的内存和加载速度 较慢等问题,从而很大程度上会降低CDL分析工具的性能。 0005 目前,在开发CDL分析工具时,需要创建空白的数据源和数据集;CDL分析工具对 CDL文件中的某一条CDL消息进行解析之后得到多个字段,在数据集中对解析得到的该多 个字段分别进行定义(如定义字段名称、字。
11、段类型等);CDL分析工具按照该数据集中定义 的字段显示CDL消息;数据源和数据集的关系可如图1所示。 0006 目前,从CDL文件中逐条读取CDL消息,并对该CDL消息进行解析得到多个字段之 后,将该多个字段分别插入到内存数据表中,具体可参见图2所示的方法流程图,该方法针 对其中一条CDL消息进行描述,包括: 0007 步骤200、在数据集中预先定义需要显示的所有字段,包括字段名称和类型。 0008 步骤201、在数据集中添加一条空记录。 0009 步骤202、从CDL文件中读取一条CDL消息。 0010 步骤203、对读取出的CDL消息进行解析,得到n个字段。 0011 步骤204、在数据。
12、集添加的空记录中,针对n个字段中的每个字段,将解析后的该 字段插入到内存数据表中,依此,直到该CDL消息中的n个字段全部插入到内存数据表中为 止。 0012 步骤205、提交该记录。 0013 步骤206、结束流程。 0014 采用现有的内存数据表的导入方法,当CDL文件记录的CDL消息较多时,将CDL消 息的字段逐条插入到内存数据表中的速度较慢,随着CDL分析工具需求的增多,尤其在加 载CDL文件过程中增加了越来越多的分析过程的情况下显得尤为明显,如,在CPU(Central 说 明 书CN 102394763 A CN 102394772 A 2/5页 5 processing unit,。
13、中央处理器)主频为2.5G、内存为2G的计算机上,将一个16M的含有约 24万条CDL消息的CDL文件加载完成需要约1个小时40分钟,计算机在加载时其CPU占用 率达到100,极端情况下还会导致CDL分析工具失去响应,无法继续使用,这对于不断增 加的CDL文件分析需求来说,是不能容忍的。 发明内容 0015 针对现有技术存在的上述技术问题,本发明实施例提供一种消息导入方法及装 置,以提高消息导入到数据内存表中的速度和节省内存开支,从而解决现有技术中导入消 息速度较慢、消耗内存较多的问题。 0016 一种消息导入方法,包括: 0017 针对待导入文件中记录的每条待导入消息,对该每条待导入消息进行。
14、解析得到至 少一个字段,并将所述至少一个字段写入到数据文件中;依此,将所述待导入文件中记录的 所有待导入消息解析得到的字段写入到所述数据文件中; 0018 将所述数据文件中记录的各待导入消息解析得到的对应字段导入到内存数据表 中。 0019 一种消息导入装置,包括: 0020 消息解析单元,用于针对待导入文件中记录的每条待导入消息,对该每条待导入 消息进行解析得到至少一个字段; 0021 字段写入单元,用于将所述消息解析单元解析所述每条待导入消息得到的至少一 个字段写入到数据文件中,依此,将所述待导入文件中记录的所有待导入消息解析得到的 对应字段写入到所述数据文件中; 0022 消息导入单元,。
15、用于将所述数据文件中记录的各待导入消息解析得到的对应字段 导入到内存数据表中。 0023 本发明实施例中,针对待导入文件中记录的每条待导入消息,对该每条待导入消 息进行解析得到至少一个字段,并将所述至少一个字段写入到数据文件中;依此,将所述待 导入文件中记录的所有待导入消息解析得到的字段写入到所述数据文件中;将所述数据文 件中记录的各待导入消息解析得到的对应字段导入到内存数据表中。采用本发明技术方 案,对待导入文件中的所有待导入消息进行解析之后得到对应的字段写入到数据文件中, 再将数据文件中存储的各待导入消息解析得到的对应字统一导入到内存数据表中,由于将 各待导入消息解析得到的对应字段写入至数。
16、据文件中的速度较快,以及将数据文件中的字 段导入到内存数据表中的速度较快,不需要长期的占用内存,因此,本发明技术方案与现有 技术中对待导入文件中的所有待导入消息进行逐条解析、定义、插入到内存数据表等操作 相比较而言,提高了消息导入到内存数据表中的速度、降低了对内存的消耗。 附图说明 0024 图1为现有技术中数据源和数据集之间的关系图; 0025 图2为现有技术中将CDL文件中的CDL消息插入到内存数据表中的方法流程图; 0026 图3A为本发明实施例中消息导入的方法流程图之一; 0027 图3B为本发明实施例中消息导入的方法流程图之二; 说 明 书CN 102394763 A CN 1023。
17、94772 A 3/5页 6 0028 图4为本发明实施例中将解析后的CDL消息写入到数据文件中的方法流程图; 0029 图5为本发明实施例中具体实例中导入CDL消息的字段头信息的详细流程图; 0030 图6A为本发明实施例中消息导入装置的结构示意图之一; 0031 图6B为本发明实施例中消息导入装置的结构示意图之二。 具体实施方式 0032 针对现有技术存在的上述技术问题,本发明实施例提供一种消息导入方法及装 置,以提高消息导入到数据内存表中的速度和节省内存开支,从而解决现有技术中导入消 息速度较慢、消耗内存较多的问题;消息导入方法可包括:针对待导入文件中记录的每条 待导入消息,对该每条待导。
18、入消息进行解析得到至少一个字段,并将所述至少一个字段写 入到数据文件中;依此,将所述待导入文件中记录的所有待导入消息解析得到的字段写入 到所述数据文件中;将所述数据文件中记录的各待导入消息解析得到的字段导入到内存数 据表中。采用本发明技术方案,对待导入文件中的所有待导入消息进行解析之后得到对应 的字段写入到数据文件中,再将数据文件中存储的各待导入消息对应的字统一导入到内存 数据表中,由于将各待导入消息对应的字段写入至数据文件中的速度较快,以及将数据文 件中的字段导入到内存数据表中的速度较快,不需要长期的占用内存,因此,本发明技术方 案与现有技术中对待导入文件中的所有待导入消息进行逐条解析、定义。
19、、插入到内存数据 表等操作相比较而言,提高了消息导入到内存数据表中的速度、降低了对内存的消耗。 0033 下面结合说明书附图对本发明技术方案进行详细的描述。 0034 参见图3A,为本发明实施例中消息导入的方法流程图,该方法包括: 0035 步骤301、针对待导入文件中记录的每条待导入消息,对该每条待导入消息进行解 析得到至少一个字段,并将所述至少一个字段写入到数据文件中;依此,将所述待导入文件 中记录的所有待导入消息解析得到的字段写入到所述数据文件中。 0036 步骤302、将所述数据文件中记录的各待导入消息对应的字段导入到内存数据表 中。 0037 较佳地,上述步骤301中,将每条待导入消。
20、息解析得到的至少一个字段写入到数 据文件中,可采用以下方式:首先,写入与所述每条待导入消息对应的新记录的开始标识; 其次,按照所述数据文件的语法规则,将所述至少一个字段拼成所述新记录的各字段及其 取值的信息;再其次,将拼成的所述新记录的信息写入到所述数据文件中;最后,写入所述 新记录的结束标识。 0038 较佳地,上述步骤301中,将每条待导入消息解析得到的至少一个字段写入到数 据文件中,还可包括以下步骤:在所述数据文件中写入所述待导入文件中记录的待导入消 息之前,写入所述数据文件的开始标识;在所述数据文件中写入所述待导入文件中记录的 所有待导入消息之后,写入所述数据文件的结尾标识。具体地可参。
21、见图4,包括以下步骤: 0039 步骤401、定位到文件末尾,已准备接收新写入的数据。 0040 步骤402、写入数据文件的开始标识。 0041 步骤403、写入与所述每条待导入消息对应的新记录的开始标识。 0042 步骤404、按照所述数据文件的语法规则,将所述至少一个字段拼成所述新记录的 各字段及其取值的信息。 说 明 书CN 102394763 A CN 102394772 A 4/5页 7 0043 步骤405、将拼成的所述新记录的信息写入到所述数据文件中。 0044 步骤406、写入所述新记录的结束标识。 0045 步骤407、判断待导入文件中是否还有未写入到数据文件中的待导入消息,。
22、若否则 执行步骤408,否则执行步骤403。 0046 步骤408、写入数据文件的结尾标识。 0047 步骤409、结束流程。 0048 较佳地,为了进一步提高待导入消息导入到数据文件中的速度,上述流程的步骤 301之前还可包括步骤300,如图3B所示: 0049 步骤300、在第三方数据表(如Access数据表)中定义需要显示的字段;获取所 述第三方数据表中各字段对应的字段头信息,并将获取的字段头信息写入到所述数据文件 中,所述字段头信息包括字段名称和类型;具体地可参见图5,包括以下步骤: 0050 步骤501、编写SQL(Structure Query Language)查询语句。 005。
23、1 步骤502、运行编写的SQL查询语句,查询第三方数据表中定义的所有定义的需要 显示的字段头信息。 0052 步骤503、将查询得到的字段头信息存储到数据文件中。 0053 步骤504、结束流程。 0054 上述步骤301中,将所述至少一个字段写入到数据文件中,可采用以下方式:针对 所述至少一个字段中的每个字段,将该每个字段的字段信息写入到所述数据文件中与该每 个字段对应的字段头信息所在的位置,所述每个字段的字段名称与其对应的字段头信息的 字段名称一致。 0055 本发明实施例中的数据文件可以是XML(EXtensible Markup Language,可扩展标 记语言)文件,待导入文件可。
24、以是CDL文件,待导入文件中记录的消息可以为CDL消息。本 发明实施例中,数据文件并不仅限于XML文件,还可以是其他的文件,如HTML(HyperText Markup Language,超文本链接标示语言)文件、XSL(Extensible Stylesheet Language,可 扩展样式表语言)文件、SDXF(Structured Data EXchange Format,结构化数据交换格式) 文件等,在此不再一一列举。 0056 基于上述方法流程相同的构思,本发明实施例还提供一种消息导入装置,该装置 的结构如图6A所示,可包括: 0057 消息解析单元61,用于针对待导入文件中记录的。
25、每条待导入消息,对该每条待导 入消息进行解析得到至少一个字段; 0058 字段写入单元62,用于将所述消息解析单元解析所述每条待导入消息得到的至少 一个字段写入到数据文件中,依此,将所述待导入文件中记录的所有待导入消息解析得到 的字段写入到所述数据文件中; 0059 消息导入单元63,用于将所述数据文件中记录的各待导入消息对应的字段导入到 内存数据表中。 0060 较佳地,字段写入单元62将每条待导入消息解析得到的至少一个字段写入到数 据文件中,具体应用为:写入与所述每条待导入消息对应的新记录的开始标识;按照所述 数据文件的语法规则,将所述至少一个字段拼成所述新记录的各字段及其取值的信息;将 。
26、拼成的所述新记录的信息写入到所述数据文件中;写入所述新记录的结束标识。 说 明 书CN 102394763 A CN 102394772 A 5/5页 8 0061 较佳地,字段写入单元62进一步用于,在所述数据文件中写入所述待导入文件中 记录的待导入消息之前,写入所述数据文件的开始标识;以及,在所述数据文件中写入所述 待导入文件中记录的所有待导入消息之后,写入所述数据文件的结尾标识。 0062 较佳地,上述装置还可包括字段定义单元64和字段头信息获取单元65,如图6B所 示,其中: 0063 字段定义单元64,用于在第三方数据表中定义需要显示的字段; 0064 字段头信息获取单元65,用于获。
27、取所述第三方数据表中各字段对应的字段头信 息,并将获取的字段头信息写入到所述数据文件中,所述字段头信息包括字段名称和类 型; 0065 所述字段写入单元62将所述至少一个字段写入到数据文件中,具体应用为:针对 所述至少一个字段中的每个字段,将该每个字段的字段信息写入到所述数据文件中与该每 个字段对应的字段头信息所在的位置,所述每个字段的字段名称与其对应的字段头信息的 字段名称一致。 0066 本发明实施例中,一方面,针对待导入文件中记录的每条待导入消息,对该每条待 导入消息进行解析得到至少一个字段,并将所述至少一个字段写入到数据文件中;依此,将 所述待导入文件中记录的所有待导入消息解析得到的字。
28、段写入到所述数据文件中;将所述 数据文件中记录的各待导入消息解析得到的字段导入到内存数据表中。采用本发明技术方 案,对待导入文件中的所有待导入消息进行解析之后得到对应的字段写入到数据文件中, 再将数据文件中存储的各待导入消息解析得到的对应字统一导入到内存数据表中,由于将 各待导入消息对应的字段写入至数据文件中的速度较快,以及将数据文件中的字段导入到 内存数据表中的速度较快,不需要长期的占用内存,因此,本发明技术方案与现有技术中对 待导入文件中的所有待导入消息进行逐条解析、定义、插入到内存数据表等操作相比较而 言,提高了消息导入到内存数据表中的速度、降低了对内存的占用;另一方面,还可在第三 方数。
29、据表中定义需要显示的字段,并将第三方数据表中各字段对应的字段头信息写入到数 据文件中,因此,后续在将待导入消息对应的字段导入到数据文件中时,直接将每个字段的 字段信息写入到所述数据文件中字段名称与所述每个字段的字段名称一致的字段头信息 所在的位置,从而克服了现有技术中需要在数据集中对字段头进行定义而存在字段头信息 定义灵活性较差的问题,从而提高了对字段头信息定义的灵活性。例如:在CPU主频2.5G、 内存2G的计算机上,将一个16M的含有约24万条记录的CDL文件加载完成,采用本发明实 施例提供的消息导入方法仅需要约4分15秒,并且加载过程中CPU占用率始终保持在50 左右。 0067 显然,。
30、本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。 说 明 书CN 102394763 A CN 102394772 A 1/5页 9 图1 说 明 书 附 图CN 102394763 A CN 102394772 A 2/5页 10 图2 说 明 书 附 图CN 102394763 A CN 102394772 A 3/5页 11 图3A 图3B 说 明 书 附 图CN 102394763 A CN 102394772 A 4/5页 12 图4 说 明 书 附 图CN 102394763 A CN 102394772 A 5/5页 13 图5 图6A 图6B 说 明 书 附 图CN 102394763 A 。