应用于电子商务系统的文件处理方法、服务器及系统技术领域
本发明涉及文件处理领域,更具体地,涉及一种应用于电子商务系统的文
件处理方法、服务器及系统。
背景技术
电商平台的用户大体上分为两种:供应商和客户。供应商在网站中除了给
客户发货之外,还会用到各种各样的报表信息,而这些报表往往包含比较详细
的订单、金额等信息。
在现有技术中,当供应商需要进行导出报表这种大数据量任务的时候,通
常采用实时导出的方式。即,在供应商点击导出的时候,电商平台开始统计数
据,待文件生成后,返回给客户端下载。这种方式存在以下缺陷:一方面,在
数据量较大的情况下,平台在统计的时候会消耗很长时间,客户端同时也需要
等待很长时间,这样就大大降低了客户体验;另一方面,这种大数据量的任务
很有可能在短时间内造成服务器的巨大压力而导致服务器宕机。
发明内容
为解决上述技术问题,本发明提供了一种应用于电子商务系统的文件处理
方法、服务器及系统,特别适用于大数据量文件的处理,能够降低服务器宕机
的风险,提高客户体验。
一方面,本发明实施例提供了一种应用于电子商务系统的文件处理方法,
包括:
服务器接收客户端发送的请求消息;
服务器判断所述客户端所请求的文件是否已经存在;
如果已经存在,则所述服务器将所述文件或所述文件的下载链接发送至所
述客户端;
如果不存在,则所述服务器定时执行生成所述文件的任务。
第二方面,本发明实施例提供一种应用于电子商务系统的服务器,包括:
接收模块,用于接收客户端发送的请求消息;
判断模块,用于判断是否已存在所述客户端所请求的文件;
处理模块,用于在已存在所述文件时,将所述文件或所述文件的下载链接
发送至所述客户端,以及,用于在不存在所述文件时,定时执行生成所述文件
的任务。
第三方面,本发明实施例提供一种应用于电子商务系统的文件处理系统,
包括根据本发明实施例第二方面的服务器和用于向所述服务器发送请求消息的
客户端。
采用本发明实施例,具有以下优点:
通过在服务器端定时执行生成文件的任务,能够有效避开电子商务系统的
繁忙时段而在相对空闲时生成文件。一方面减小了服务器的数据处理压力,降
低了服务器宕机的风险。另一方面也避免了客户无谓的等待,提高了客户体验。
附图说明
图1是根据本发明实施例的一种应用于电子商务系统的文件处理方法的流
程示意图;
图2是根据本发明实施例的一种应用于电子商务系统的服务器的方块示意
图;
图3是根据本发明实施例的一种应用于电子商务系统的文件处理系统的方
块示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚、完整的描述。
首先对本发明中可能提及的名称或术语进行解释。
Schedual:定时任务。
VM:英文全称为VelocityModel,是基于Velocity的模板。使用VM的页
面就是VM页面。Velocity是一个基于java的模板引擎,在VM页面中允许使
用模板语言来引用由java代码定义的对象,通过这种方式,VM将java代码从
web页面中分离出来。
图1是根据本发明实施例的一种应用于电子商务系统的文件处理方法的流
程示意图,参照图1,该方法包括:
10:服务器接收客户端发送的请求消息。该请求消息用于向服务器请求文
件,例如,请求服务器发送包含报表数据的报表文件。当然,报表文件仅是举
例,客户端可以向服务器请求需要服务器进行数据统计、计算之类的处理而生
成的文件。
可选地,在本实施例的一种实现方式中,客户端通过VM页面向服务器发
送请求消息。
12:服务器判断客户端所请求的文件是否已经存在。例如,服务器在业务
层进行上述判断。如果已经存在,则执行处理14;如果不存在,则执行处理16。
14:服务器将文件或文件的下载链接发送至客户端。
16:服务器定时执行生成文件的任务。
可选地,在本实施例的一种实现方式中,通过以下方式实现处理16:首先,
服务器将生成文件的任务添加至定时任务中;然后,由定时任务定时执行生成
文件的任务。其中,定时任务可以通过建立Schedual工程实现,该Schedual工
程按照配置文件中的配置定时执行相对应的任务表中的任务。
可选地,在本实施例的一种实现方式中,当服务器判断不存在客户端请求
的文件时,可以向客户端返回友好的提示信息,以避免客户端无谓的等待。
可选地,在本实施例的一种实现方式中,在通过处理16生成文件之后,服
务器将生成的文件或该文件的下载链接发送至客户端。
采用本实施例提供的方法,由服务器判断是否已经存在客户端请求的文件,
并在不存在该文件时定时执行生成文件的任务,基于异步下载的方式将实时的
任务做到定时任务中,不对复杂任务进行实时处理,能够有效避开电子商务系
统的繁忙时段而在相对空闲时生成文件,一方面减小了服务器的数据处理压力,
降低了服务器宕机的风险,另一方面也避免了客户无谓的等待,提高客户体验。
图2是根据本发明实施例的一种应用于电子商务系统的服务器的方块示意
图,参照图2,服务器20包括接收模块21、判断模块22和处理模块23。下面
分别进行说明。
接收模块21,用于接收客户端发送的请求消息。该请求消息可以是客户端
发送的用于请求报表文件的请求消息,所述报表文件由服务器根据报表数据生
成。
判断模块22,用于判断是否已存在客户端所请求的文件。
处理模块23,用于在已存在客户端所请求的文件时,将该文件或该文件的
下载链接发送至客户端,以及,用于在不存在客户端所请求的文件时,定时执
行生成该文件的任务。
可选地,在本实施例的一种实现方式中,处理模块23具体用于,在不存在
客户端所请求的文件时,将生成该文件的任务添加至定时任务(例如,Schedual
任务),由该定时任务定时执行生成客户端所请求的文件的任务。优选地,该定
时任务在服务器相对空闲时(例如,凌晨)进行数据统计和计算,生成客户端
所请求的文件。
可选地,在本实施例的一种实现方式中,处理模块23还用于将定时任务生
成的文件或该文件的下载链接发送至客户端。
在本实施例或其实现方式中,关于相关名称或术语的解释,以及关于各个
模块所执行处理或可执行处理的详细说明,请参见方法实施例的详细说明,此
处不赘述。
采用本实施例提供的服务器20,一方面能够有效减小服务器的数据处理压
力,降低服务器宕机的风险;另一方面也能避免客户无谓的等待,提高客户体
验。
图3是根据本发明实施例的一种应用于电子商务系统的文件处理系统的方
块示意图,参照图3,文件处理系统包括服务器20和客户端30。其中,客户端
30用于向服务器20发送请求消息。优选地,客户端30通过VM页面向服务器
发送请求消息。在本实施例中,关于服务器20的说明请参见前文的描述,此处
不赘述。
以上结合附图对根据本发明的实施例进行了详细说明,下面从用户应用本
发明各实施例的角度进行说明。
在一种具体的应用实施例中,用户在客户端打开VM报表页面,点击生成
报表从而向服务器发出请求消息;服务器通过查询确定客户端请求的文件是否
已经存在,如果存在,则返回一个文件流给客户端下载,如果不存在,则将生
产该文件的任务添加至Schedual任务列表中,并向用户返回友好的提示信息;
客户端接收服务器返回的数据,如果是一个文件流,则通过文件流下载文件,
如果是提示信息,则提示给用户;Schedual根据任务列表中定义的任务定时执行
任务;服务器主动向客户端返回文件流,或根据用户的再次请求发送文件流。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明
可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案
对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算
机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干
指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)
执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明
的保护范围,因此依本发明权利要求的教导对上述实施例所作的等同变化,仍
属于本发明权利要求所涵盖的范围内。