一种自动化数据上传和维护传输稳定性的系统及方法与流程

文档序号:23890342发布日期:2021-02-09 11:34阅读:184来源:国知局

[0001]
本发明涉及数据上传技术领域,更具体的说,本发明涉及一种自动化数据上传和维护传输稳定性的系统及方法。


背景技术:

[0002]
sftp是一种安全的文件传输协议,一种通过网络传输文件的安全方法;它确保使用私有和安全的数据流来安全地传输数据。
[0003]
sftp要求客户端用户必须由服务器进行身份验证,并且数据传输必须通过安全通道(ssh)进行,即不传输明文密码或文件数据。它允许对远程文件执行各种操作,有点像远程文件系统协议。sftp允许从暂停传输,目录列表和远程文件删除等操作中恢复。
[0004]
现有技术中关于文件的自动化上传,主要存在以下几个方面的不足:1、无法自动从多个数据表中抽取满足通信行业权威监管机构要求的数据。2、无法高效率处理规模较大的数据文件。3、无法应对偶然性的网络故障,在sftp通道连接中断后无法继续重新连接对端服务器处理未完成的任务。4、无法自动将图片数据压缩到既不失真也不影响传输效率的规模。5、无法自动提示数据文件在监管机构侧的检验结果。


技术实现要素:

[0005]
为了克服现有技术的不足,本发明提供一种自动化数据上传和维护传输稳定性的系统及方法,实现了通信行业中大规模数据文件高效且稳定的上传。
[0006]
本发明解决其技术问题所采用的技术方案是:一种自动化数据上传和维护传输稳定性的系统,其改进之处在于,包括文本数据抽取模块、图片数据抽取模块、文本数据划分模块、图片数据压缩模块以及数据上传系统;
[0007]
所述的文本数据抽取模块,用于从数据库中查询出所需的数据条目,并将数据条目写入文本数据文件中;所述的图片数据抽取模块同图片服务器相连接,用于找出与数据条目对应的用户图片,形成图片数据;
[0008]
所述的文本数据划分模块连接在文本数据抽取模块上,用于接收文本数据文件,并将其划分为多个子文本数据文件;所述的图片数据压缩模块连接在图片数据抽取模块上,用于接收图片数据,并对图片数据进行循环等比压缩;
[0009]
所述的数据上传系统包括有多进程数据上传模块,多进程数据上传模块用于根据多个子文本数据文件的数量和压缩后的图片数据的数量,建立多个上传进程,实现多个进程同时上传数据。
[0010]
进一步的,所述的上传进程同sftp服务器相连接,上传进程判定当前sftp通道的连通性。
[0011]
进一步的,所述的数据上传系统还包括有哨兵进程,该哨兵进程用于定时扫描sftp服务器。
[0012]
进一步的,所述的图片数据压缩模块在对图片数据压缩后,将压缩后的图片存入
work目录中,所述的多进程数据上传模块在将压缩后的图片上传成功后,将压缩后的图片转移至finish目录中。
[0013]
进一步的,所述的数据上传系统还包括有守护进程,该守护进程用于实现对上传进程进行监控。
[0014]
另一方面,本发明还提供了一种自动化数据上传和维护传输稳定性的方法,其改进之处在于,该方法包括以下的步骤:
[0015]
s1、文本数据的获取,文本数据抽取模块从数据库中查询出所需的数据条目,将数据条目整理成行后,写入文本数据文件中;
[0016]
s2、图片数据的获取,图片数据抽取模块根据每个数据条目中的用户号码从图片服务器中找出对应的用户图片,保存后即为图片数据;
[0017]
s3、文本数据的划分,文本数据划分模块接收文本数据文件,并将文本数据文件划分行数规模相同的多个子文本数据文件;
[0018]
s4、图片数据的压缩,图片数据压缩模块接收图片数据,对图片数据进行循环等比压缩;
[0019]
s5、数据的上传,所述的数据上传系统包括有多进程数据上传模块,多进程数据上传模块根据划分的子文本数据文件的数量和图片的数量建立相应的多个上传进程,实现多个进程同时上传数据;
[0020]
s6、传输稳定性的维护,上传进程同sftp服务器相连接,用于判断当前sftp通道的连通性。
[0021]
进一步的,所述的步骤s1中,在查询所需的数据条目时,需联合数据库中的多张表数据表。
[0022]
进一步的,所述的步骤s3中,在对文本数据文件进行划分时,首先判断当前文本数据文件的总行数,再根据设定的文本划分阈值实现文本数据文件的划分。
[0023]
进一步的,所述的步骤s4中,利用php的gd库功能,根据已设定的图片规模实现图片数据的循环等比压缩,将压缩后的图片存放至work目录中。
[0024]
进一步的,所述的步骤s5中,在实现图片上传时,多进程数据上传模块依次从work目录中拿出图片上传,上传成功后则移动对应图片到finish目录。
[0025]
进一步的,所述的步骤s5中,数据上传系统还包括有守护进程,该守护进程用于定时判断上传进程的状态,当扫描到有挂起的上传进程时则重启对应的上传进程;
[0026]
如守护进程发现当前上传进程变为僵尸进程或者长时间休眠,则杀死对应的上传进程并重新启动该上传进程。
[0027]
进一步的,所述的步骤s5中,数据上传系统还包括哨兵进程,该哨兵进程用于定时扫描sftp服务器,若对端下发了反馈文件,则将反馈文件下载到本体,并解析反馈文件中的错误信息。
[0028]
进一步的,所述的哨兵进程将错误信息格式化成邮件内容发送给指定收件人,该哨兵进程在所有上传进程工作结束后对文本数据和图片进行整理归档。
[0029]
本发明的有益效果是:可以自动从数据库中抽取关键信息组装成特定格式的文件;可以自动根据划分的子数据文件数目生成对应的数量的进程用来同时上传数据文件;可以预先设置相关阈值,用以自动压缩图片文件,将图片文件无损压缩到特定范围内大小,
可以有效提高文件传输效率。
附图说明
[0030]
图1为本发明的一种自动化数据上传和维护传输稳定性的系统的框架示意图。
[0031]
图2为一种自动化数据上传和维护传输稳定性的方法的流程示意图。
具体实施方式
[0032]
下面结合附图和实施例对本发明进一步说明。
[0033]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。另外,专利中涉及到的所有联接/连接关系,并非单指构件直接相接,而是指可根据具体实施情况,通过添加或减少联接辅件,来组成更优的联接结构。本发明创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。
[0034]
参照图1所示,本发明揭示了一种自动化数据上传和维护传输稳定性的系统,具体的,该系统包括文本数据抽取模块10、图片数据抽取模块20、文本数据划分模块30、图片数据压缩模块40以及数据上传系统50;所述的文本数据抽取模块10,用于从数据库60中查询出所需的数据条目,并将数据条目写入文本数据文件中;本方案中,数据库60为oracle数据库;所述的图片数据抽取模块20同图片服务器70相连接,用于找出与数据条目对应的用户图片,形成图片数据;所述的文本数据划分模块30连接在文本数据抽取模块10上,用于接收文本数据文件,并将其划分为多个子文本数据文件,图1中,即形成文本数据1、文本数据2、
……
、以及文本数据n;所述的图片数据压缩模块40连接在图片数据抽取模块20上,用于接收图片数据,并对图片数据进行循环等比压缩;所述的数据上传系统50包括有多进程数据上传模块501,多进程数据上传模块501用于根据多个子文本数据文件的数量和压缩后的图片数据的数量,建立多个上传进程,实现多个进程同时上传数据。本实施例中,所述的数据库为mysql数据库,实际上,数据库只是一种管理数据的工具,可以根据需求对数据库进行更换。
[0035]
在本实施例中,所述的上传进程同sftp服务器相连接,上传进程判定当前sftp通道的连通性,对于上传文本数据的进程,一旦sftp连接中断自动重新连接sftp服务器,若尝试失败后则挂起当前进程。进一步的,所述的数据上传系统50还包括有哨兵进程503,该哨兵进程503用于定时扫描sftp服务器,哨兵进程503定时扫描监管机构的sftp服务器,若对端下发了反馈文件,则将反馈文件下载到本地,解析反馈文件中的错误信息;哨兵进程503将错误信息格式化成邮件内容发送给指定收件人,提醒及时处理。守护进程在所有上传进程工作结束后会对文本数据和图片进行整理归档。因此,本发明通过引入守护进程,实时监控每一个子数据文件的传输状态,当因其他因素导致传输中断时会自动重启传输。
[0036]
在上述的实施例中,所述的图片数据压缩模块40在对图片数据压缩后,将压缩后的图片存入work目录中,所述的多进程数据上传模块501在将压缩后的图片上传成功后,将压缩后的图片转移至finish目录中。
[0037]
另外,所述的数据上传系统50还包括有守护进程502,该守护进程502用于实现对上传进程进行监控;守护进程502定时判断当前上传进程的状态,若扫描到有挂起的进程则重新启动对应进程;守护进程502若发现当前上传进程变成僵尸进程或者长时间休眠,则会杀死对应对应进程并重新启动。因此,本发明通过引入哨兵模式,实时监控权威监管机构的反馈信息,做到完全掌控数据文件的上传状态和回馈状态。
[0038]
另一方面,本发明还提供了一种自动化数据上传和维护传输稳定性的方法,具体的,该方法包括以下的步骤:
[0039]
s1、文本数据的获取,文本数据抽取模块10从数据库中查询出所需的数据条目,将数据条目整理成行后,写入文本数据文件中;在查询所需的数据条目时,需联合数据库中的多张表数据表;
[0040]
s2、图片数据的获取,图片数据抽取模块20根据每个数据条目中的用户号码从图片服务器70中找出对应的用户图片,保存后即为图片数据;
[0041]
s3、文本数据的划分,文本数据划分模块30接收文本数据文件,并将文本数据文件划分行数规模相同的多个子文本数据文件;
[0042]
所述的步骤s3中,在对文本数据文件进行划分时,首先判断当前文本数据文件的总行数,再根据设定的文本划分阈值实现文本数据文件的划分;其中,文本划分阈值为一个文本数据文件所包含的记录行数上限,可以根据需要进行选择或设定。
[0043]
s4、图片数据的压缩,图片数据压缩模块40接收图片数据,对图片数据进行循环等比压缩;所述的步骤s4中,利用php的gd库功能,根据已设定的图片规模实现图片数据的循环等比压缩,使图片压缩至设定的大小,保证图片不至于太大,将压缩后的图片存放至work目录中;
[0044]
s5、数据的上传,所述的数据上传系统50包括有多进程数据上传模块501,多进程数据上传模块501根据划分的子文本数据文件的数量和图片的数量建立相应的多个上传进程,实现多个进程同时上传数据;
[0045]
所述的步骤s5中,在实现图片上传时,多进程数据上传模块501依次从work目录中拿出图片上传,上传成功后则移动对应图片到finish目录;
[0046]
另外,所述的步骤s5中,数据上传系统50还包括有守护进程502,该守护进程502用于定时判断上传进程的状态,当扫描到有挂起的上传进程时则重启对应的上传进程;如守护进程502发现当前上传进程变为僵尸进程或者长时间休眠,则杀死对应的上传进程并重新启动该上传进程。
[0047]
更进一步的,数据上传系统50还包括哨兵进程503,该哨兵进程503用于定时扫描sftp服务器,若对端下发了反馈文件,则将反馈文件下载到本体,并解析反馈文件中的错误信息;所述的哨兵进程503将错误信息格式化成邮件内容发送给指定收件人,该哨兵进程503在所有上传进程工作结束后对文本数据和图片进行整理归档。其中,所述的对端为监管机构,例如在通信行业,上传的数据是传输到工信部,那么此时对端就是工信部。
[0048]
s6、传输稳定性的维护,上传进程同sftp服务器相连接,用于判断当前sftp通道的连通性。
[0049]
基于此,本发明的一种自动化数据上传和维护传输稳定性的系统及方法,公开了一种通信行业高效且稳定的上传大规模数据文件的方法,可以自动从数据库中抽取关键信
息组装成特定格式的文件;可以提前设置相关阈值用以将大规模的数据文件自动拆分成多个规模相近的子数据文件,且不损失数据信息。并且,可以自动根据划分的子数据文件数目生成对应的数量的进程用来同时上传数据文件;可以预先设置相关阈值,用以自动压缩图片文件,将图片文件无损压缩到特定范围内大小,可以有效提高文件传输效率。另外,通过引入守护进程502,实时监控每一个子数据文件的传输状态,当因其他因素导致传输中断时会自动重启传输。通过引入哨兵模式,实时监控权威监管机构的反馈信息,做到完全掌控数据文件的上传状态和回馈状态。
[0050]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!