一种移动通信后台数据文件导入方法技术领域
本发明涉及一种数据处理方法,特别涉及一种移动通信后台数据文件导入
方法。
背景技术
移动通信网络优化是通过采集网络数据进行分析,确定影响网络通信质量
的原因,在不改变现有的网络设备、资源和容量基础上,通过调整工程参数、
硬件维护优化、清除干扰等优化手段最大限度地提高网络服务质量。
目前,网络优化的数据大多数都是直接从移动通信网络后台导出的,该类
数据文件具有种类多、文件小、文件量大的特点。传统网络优化方法是将这些
数据文件逐个选择、逐个上传,上传后逐个读取数据流,保存到数据库中,这
种数据处理方法效率比较低,同时,其一般采用使用AJAX轮询方式,导致数据
导入进度难以实时呈现。
发明内容
为了克服现有技术移动通信后台数据文件导入效率低下以及导入进度无法
实时显示的不足,本发明的目的在于提供一种既可以高效导入后台数据文件又
可以实现显示导入进度的移动通信后台数据文件导入方法。
为解决上述问题,本发明所采用的技术方案如下:提供一种移动通信后台
数据文件导入方法,包括以下步骤:
S101:创建数据源并将其写入第一缓冲区;
S102:创建若干个数据处理线程,使用创建的数据处理线程处理写入第一
缓冲区的数据源,同时实时显示处理速度;
S103:将经过数据处理线程处理的数据源写入第二缓冲区;
S104:创建数据存储线程,并使用创建的数据存储线程存储第二缓冲区的
数据源至数据库同时实时显示存储进度。
优选地,所述数据处理线程个数由下述函数确定:
其中,Int(x):指向上取整;Numcpu:指创建数据处理线程的中央处理器的
内核数;T写入:指的是单个文件的写入第一缓冲区的时间;T处理:指单个数据
文件的数据处理线程处理时间,包括解码、格式化、过滤、校验四个过程处理
时间过程;t解码:指的是数据处理线程对单个文件的解码时间;t格式化:指数据
处理线程处理解码后的格式化时间;t过滤:指数据处理线程处理过滤出对优化分
析有利用价值的数据的时间;t校验:数据处理线程处理校验数据完整或重复的时
间;γ:是修正参数。
优选地,步骤S101具体包括以下步骤:
通过HTML5选择若干个文件;
根据选择的若干个文件创建数据源;
将上述创建的数据源以线程安全队列写入第一缓冲区。
优选地,步骤S102具体包括以下步骤:
P101:根据写入第一缓冲区的数据源创建若干个数据处理线程;
P102:使用创建的数据处理线程对写入第一缓冲区的数据源进行解码、格
式化、过滤以及校验处理;
P103:通过HTML5Server-SentEvents实时显示数据处理线程的处理速度。
优选地,步骤P103具体包括以下步骤:
获取单个文件需要处理的总条目,
获取数据处理线程已处理的处理条目;
根据单个文件需要处理的总条目和数据处理线程已处理的处理条目获得单
个文件条数的处理速度。
优选地,步骤S104具体包括以下步骤:
创建单个数据存储线程;
使用创建的单个数据存储线程存储数据源至数据库同时实时显示存储进度。
优选地,步骤S104具体包括以下步骤:
创建至少一个数据存储线程;
使用创建的至少一个数据存储线程存储数据源至数据库同时实时显示存储
进度。
优选地,所述γ值为1。
相比现有技术,本发明的有益效果在于:
本发明一种移动通信后台数据文件导入方法通过HTML5选择若干个文件、
第一缓冲区、第二缓冲区以及多个数据处理线程的设置革新了传统逐个文件处
理的方法,提高了数据处理方法效率,同时,还通过HTML5Server-SentEvents
进行进度百分比的实时显示,使得导入进度实时呈现,便于用户操作使用。
附图说明
图1是本发明一种移动通信后台数据文件导入方法的流程示意图;
图2是本发明一种移动通信后台数据文件导入方法的包括多个数据存储线
程的处理流程示意图;
图3是本发明一种移动通信后台数据文件导入方法的步骤S102的流程示意
图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
请参阅图1-图3,本发明一种移动通信后台数据文件导入方法10,包括以
下步骤:
S101:创建数据源并将其写入第一缓冲区;
具体地,步骤S101包括以下步骤:
通过HTML5选择若干个文件;
根据选择的若干个文件创建数据源;
将上述创建的数据源以线程安全队列写入第一缓冲区。
S102:创建若干个数据处理线程,使用创建的数据处理线程处理写入第一
缓冲区的数据源,同时实时显示处理速度;
具体地,步骤S102包括以下步骤:
P101:根据写入第一缓冲区的数据源创建若干个数据处理线程;
P102:使用创建的数据处理线程对写入第一缓冲区的数据源进行解码、格
式化、过滤以及校验处理;
P103:通过HTML5Server-SentEvents实时显示数据处理线程的处理速度。
其中,数据处理线程的个数优选等于中央处理器的内核数。
在实际中,考虑到还有诸如写入第一缓冲区的速度与数据处理线程处理的
速度不等等因素,实际创建的数据处理线程个数往往使用下述函数确定:
其中,Int(x):指向上取整;Numcpu:指创建数据处理线程的中央处理器的内核
数;T写入:指的是单个文件的写入第一缓冲区的时间;T处理:指单个数据文件的
数据处理线程处理时间,包括解码、格式化、过滤、校验四个过程处理时间;t解码:
指的是数据处理线程对单个文件的解码时间;t格式化:指数据处理线程处理解码
后的格式化时间;t过滤:指数据处理线程处理过滤出对优化分析有利用价值的数
据的时间;t校验:数据处理线程处理校验数据完整或重复的时间;γ:是修正参
数,优选为1。
同时,考虑到所有数据文件的大小和处理时间并非完全相同,加上
Numcpu可以为程序确保一定的冗余线程,本发明选择线程冗余是由于在网络优
化的用户一般较少,其服务的性能存在一定空闲。因此,多余的线程可以更高效
的进行数据处理任务。
在步骤P103中具体包括以下步骤:
获取单个文件需要处理的总条目;
获取数据处理线程已处理的处理条目;
根据单个文件需要处理的总条目和数据处理线程已处理的处理条目获得单
个文件条数的处理速度。
S103:将经过数据处理线程处理的数据源写入第二缓冲区;
S104:创建数据存储线程,并使用创建的数据存储线程存储第二缓冲区的
数据源至数据库同时实时显示存储进度。
在实际中,数据存储速度与数据处理线程对数据校验的处理速度存在一定
差异,同时数据库对并发连接数也有一定限制,因此,通过校验的数据不能直
接使用多线程存储到数据库中,本发明优选将其存储到第二缓冲区进行缓冲,
以提高数据源的存储速度。
同时,在步骤S104中根据数据库的具体性能、允许的客户端最大连接数等
参数可以创建单个数据存储线程,再使用创建的单个数据存储线程存储数据源
至数据库同时实时显示存储进度进行数据存储;还可以创建至少一个数据存储
线程,使用创建的至少一个数据存储线程存储数据源至数据库同时实时显示存
储进度。
在步骤S104中的实时显示存储进度也优选通过HTML5Server-SentEvents
实时显示数据存储速度,具体可参见步骤P103,因此不再赘述。
值得一提的是,在使用中,步骤S101、步骤S102、步骤S103以及步骤S104
的并没有严格的操作顺序,例如当用户在打开页面时,该移动通信后台数据文
件导入方法10已经执行,则会继续执行当前正在操作的步骤。当没有其他步骤
执行时,则按着步骤S101、步骤S102、步骤S103以及步骤S104的顺序操作。
与现有技术相比,本发明一种移动通信后台数据文件导入方法10通过
HTML5选择若干个文件、第一缓冲区、第二缓冲区以及多个数据处理线程的设
置革新了传统逐个文件处理的方法,提高了数据处理方法效率,同时,还通过
HTML5Server-SentEvents进行进度百分比的实时显示,使得导入进度实时呈
现,便于用户操作使用。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的
范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换
均属于本发明所要求保护的范围。