一种工业质检文件上传服务器端近实时进度监控方法与流程

文档序号:23900191发布日期:2021-02-09 13:21阅读:81来源:国知局
一种工业质检文件上传服务器端近实时进度监控方法与流程

[0001]
本发明涉及监控方法的技术领域,尤其是一种工业质检文件上传服务器端近实时进度监控方法。


背景技术:

[0002]
web(world wide web)即全球广域网,也称为万维网,它是一种基于超文本和http的、全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在internet上的一种网络服务,为浏览者在internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将internet上的信息节点组织成一个互为关联的网状结构。
[0003]
现有技术中没有实时进度条的交互或者进度条是web客户端生成的模拟量,不能真实反映上传进度信息。基于工业质检现场产生的海量质检图片,在web端进行上传时无论需要耗费多少时间完成,如果能提供近实时文件上传进度,将会极大增强用户体验。


技术实现要素:

[0004]
本发明要解决的技术问题是:为了解决上述背景技术中存在的问题,提供一种工业质检文件上传服务器端近实时进度监控方法,通过web端上传文件时获取服务器端近实时上传进度信息,实时性较强并极大提升用户体验。
[0005]
本发明解决其技术问题所采用的技术方案是:一种工业质检文件上传服务器端近实时进度监控方法,工业质检文件上传过程中的实时进度信息结果通过数据推送模块实时推送到各个目标系统,具体包括如下步骤:第一步骤、启动应用及加载系统配置;第二步骤、接收客户端请求并进入数据监控模块;第三步骤、数据监控模块根据固定buffer_size判断是否可写,如果文件内容可读长度不小于buffer_size长度,则调用数据存储模块;第四步骤、数据存储模块根据第三步骤的调用将实时已读取的文件内容总字节数写入数据存储模块中;第五步骤、根据第四步骤写入数据存储模块成功后触发数据推送模块并实时推送已读取的字节数到各个目标系统。
[0006]
进一步具体地限定,上述技术方案中,所述的数据存储模块采用的是redis。
[0007]
进一步具体地限定,上述技术方案中,在第一步骤中,系统配置信息包括基础服务器配置信息、redis服务器信息以及数据推送配置信息。
[0008]
进一步具体地限定,上述技术方案中,在第三步骤中,如果文件内容可读长度小于buffer_size长度,则不调用数据存储模块。
[0009]
进一步具体地限定,上述技术方案中,在第三步骤中,每读取到固定size大小的buffer,则发起调用数据存储模块,从而达到近实时监控文件写入进度。
[0010]
进一步具体地限定,上述技术方案中,在第四步骤中,根据第三步骤将已经读取的
所有在buffer中的总字节数覆盖存储到数据存储模块中。
[0011]
进一步具体地限定,上述技术方案中,在第五步骤中,根据第四步骤的数据在数据存储模块中的存储结果,每次数据存储模块中写入数据完成时实时触发推送,将文件上传进度信息同步推送到各个目标系统,各个目标系统根据推送结果展示近实时文件上传进度信息,从而达到更好的交互体验。
[0012]
本发明的有益效果是:本发明提供的一种工业质检文件上传服务器端近实时进度监控方法,通过web端上传文件时,获取服务器端文件近实时上传进度信息,实时性较强并极大提升用户体验,让用户真实了解上传进度或速度,减小误操作带来的影响业务运行;同时文件上传的进度信息会通过推送系统主动推送到各个目标系统,避免了客户端定时请求浪费资源,提高交互时效性,节约时间提高效率。
附图说明
[0013]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]
图1是监控方法的流程图。
具体实施方式
[0015]
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0016]
特别是在网络状况不良或其它一些因素导致文件上传速度较慢时,用户可能误以为服务不可用或本地客户端原因将上传动作暂停或取消,导致后续业务流程受到关联影响,因此用户需要真实了解上传进度或速度,减小误操作带来的影响业务运行。
[0017]
见图1,一种工业质检文件上传服务器端近实时进度监控方法,工业质检文件上传过程中的实时进度信息结果通过数据推送模块实时推送到各个目标系统,具体包括如下步骤:第一步骤、启动应用及加载系统配置。
[0018]
应用即为部署了该系统服务的服务器及相应服务。
[0019]
第二步骤、接收客户端请求并进入数据监控模块,即接受请求后进入数据监控模块。
[0020]
请求是指web客户端发起的获取文件上传进度信息的请求。
[0021]
数据监控模块的作用是获取文件上传到服务器端的定时进度信息。
[0022]
数据监控模块采用的是定时监听并覆写文件进度的形式。
[0023]
一般是某一个具体应用服务或实例接收客户端请求,如部署在服务器端的文件服务。
[0024]
第三步骤、数据监控模块根据固定buffer_size判断是否可写。
[0025]
第四步骤、数据存储模块根据第三步骤的调用将实时已读取的文件内容总字节数
写入数据存储模块中。
[0026]
数据存储模块的具体作用是将文件上传进度信息存储到redis中,方便请求读取。
[0027]
数据存储模块采用的是redis。由于数据存储模块采用了redis,故其在存储效率和存储性能上都有很大提升。
[0028]
第五步骤、根据第四步骤写入数据存储模块成功后触发数据推送模块并实时推送已读取的字节数到各个目标系统。
[0029]
数据推送模块的作用是推送文件上传进度信息。
[0030]
数据推送模块采用的是socket推送。
[0031]
socket 通信是基于tcp/ip 网络层上的一种传送方式,通常把tcp和udp称为传输层;socket是基于应用服务与tcp/ip通信之间的一个抽象层,它将tcp/ip协议里面复杂的通信逻辑进行分装,对用户来说,只要通过一组简单的api就可以实现网络的连接;socket用于在两个的应用程序之间相互通信,socket是属于tcp/ip的上一层;当两个应用之间需要采用socket通信时,首先需要在两个应用之间(可能位于不同的机器)建立socket连接,发起呼叫连接请求的一方为客户方,接受呼叫连接请求的一方成为服务方;客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方;在客户方呼叫连接请求之前,它必须知道服务方在哪里;所以需要知道服务方所在机器的ip地址或机器名称,需要客户方和服务方有一个约定,这个约定就是port(端口号);客户方可以通过服务方唯一的确定方式来呼叫服务方,确定方式为机器的ip地址、机器名称或端口号。在客户方呼叫之前,服务方必须处于侦听状态,侦听是否有客户要求建立连接;一旦接到连接请求,服务方可以根据情况建立或拒绝连接;当客户方的消息到达服务方端口时,会自动触发一个事件(event),服务方只要接管该事件,就可以接受来自客户方的消息了。
[0032]
目标系统也可以称之为终端,各个目标系统包括web客户端、大屏展示系统等需要展示文件上传进度的客户端,可以是其中的一种或多种组合。
[0033]
buffer在计算机领域指缓冲寄存器,它分输入缓冲器和输出缓冲器两种,输入缓冲器的作用是将外设送来的数据暂时存放,以便处理器将它取走;输出缓冲器的作用是用来暂时存放处理器送往外设的数据。有了缓冲器,就可以使高速工作的cpu与慢速工作的外设起协调和缓冲作用,实现数据传送的同步,由于缓冲器接在数据总线上,故必须具有三态输出功能。buffer_size是缓冲区大小的意思。
[0034]
redis(remote dictionary server),即远程字典服务,是一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。
[0035]
在第一步骤中,系统配置信息包括基础服务器配置信息、redis服务器信息以及数据推送配置信息等。
[0036]
基础服务器配置信息包括服务器ip地址和服务端口等。
[0037]
redis服务器信息包括redis服务器ip、端口号以及密码等。
[0038]
数据推送配置信息包括数据推送服务器ip和推送频率间隔配置等。
[0039]
在第三步骤中,如果文件内容可读长度不小于buffer_size长度,则调用数据存储模块;如果文件内容可读长度小于buffer_size长度,则返回到数据监控模块,不调用数据存储模块。
[0040]
在第三步骤中,每读取到固定size大小的buffer,则发起调用数据存储模块,从而达到近实时监控文件写入进度。
[0041]
固定size可以是某一个固定的长度(如4096 byte或8192 byte),可以是一个灵活自定义可配置的长度,也可以通过读取开源配置中心如apollo的配置项得到。
[0042]
在第四步骤中,根据第三步骤将已经读取的所有在buffer中的总字节数覆盖存储到数据存储模块中,即为近实时的已经上传的文件进度信息体现。
[0043]
其中,读取的buffer字节数会随着上传文件的进行而变得越来越大,但是每次都会更新,每次更新永远只会存一条数据,更新完成后立即推送出去。比如:一个工业质检文件是100m,第一次更新已上传进度大小为1m对应的字节数,第二次更新为已上传进度大小2m对应的字节数
……
,直到最后一次更新已上传进度大小为100m对应的字节数,就会将已上传进度大小100m这个对应的字节数数字推送出去,客户端也就能知道上传进度是100m。
[0044]
覆盖存储也可以称之为依次存储,存储的进度信息对一个文件或一次上传操作来说只会是一条数据,这条数据存储在数据存储模块中。
[0045]
在第五步骤中,根据第四步骤的数据在数据存储模块中的存储结果,每次数据存储模块中写入数据完成时实时触发推送,将文件上传进度信息同步推送到各个目标系统,各个目标系统根据推送结果展示近实时文件上传进度信息,从而达到更好的交互体验。
[0046]
本发明的一种工业质检文件上传服务器端近实时进度监控方法,通过web端上传文件时,获取服务器端文件近实时上传进度信息,实时性较强并极大提升用户体验,让用户真实了解上传进度或速度,减小误操作带来的影响业务运行;同时文件上传的进度信息会通过推送系统主动推送到各个目标系统,避免了客户端定时请求浪费资源,提高交互时效性,节约时间提高效率。
[0047]
以上所述的,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1