CN102426579A - 一种基于网络方式导入导出文件的方法 - Google Patents
一种基于网络方式导入导出文件的方法 Download PDFInfo
- Publication number
- CN102426579A CN102426579A CN2011102465230A CN201110246523A CN102426579A CN 102426579 A CN102426579 A CN 102426579A CN 2011102465230 A CN2011102465230 A CN 2011102465230A CN 201110246523 A CN201110246523 A CN 201110246523A CN 102426579 A CN102426579 A CN 102426579A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- web
- progress
- web client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于网络方式导入导出文件的方法及网络服务器,该导入文件的方法包括:网络(WEB)服务器在收到WEB客户端发来的待导入的文件后,对该文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。该导出文件的方法包括:WEB服务器在收到WEB客户端发来的导出文件请求后,对保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。与现有技术相比,本发明的实现更加稳定;无需刷新页面的导入导出过程展现,具有良好的易用性;减少对文件和数据库的操作次数,使得读取文件和导入导出数据库的性能更加优化;支持多客户端同时操作,提供了更好的功能体验。
Description
技术领域
本发明涉及通讯领域,尤其涉及一种基于网络方式导入导出文件的方法。
背景技术
随着WEB(网络)技术的不断发展,基于B/S(Browser/Server,浏览器和服务器)架构的WEB应用系统以其良好的可维护性,特别是基于JAVA技术的跨平台特性,被越来越多的管理系统所采用。对于管理系统,大多数应用在于对数据的管理,当涉及到大数据量的导入时,常会采用约定格式的文件来承载数据,再通过WEB客户端提交给后台服务进行处理后录入数据库;而导出时则由WEB客户端提出请求,由后台从数据库中读取数据并写入文件后供客户端下载。
目前基于WEB的文件导入导出数据存在以下2类方法:
方法1:直接通过WEB客户端向后台提交请求。
通过文件导入数据时,通过Form(表单)中的控件将数据文件直接提交给后台,由后台服务对文件进行处理。
通过文件导出数据时,由WEB客户端提交导出请求后,后台从数据库中读取数据写入文件,并供客户端下载。
这种方法的缺点是:无论是导入还是导出,页面提交以后一直处于等待后台响应的状态,如果在文件较大、后台处理时间较长的情况下,页面无法向用户展现处理情况,并且可能因为响应时间过长而导致页面超时而出错。所以这种方法只适合于小数据量的文件导入导出,对于大数据量的情况下并不适用。
方法2:通过记录文件指针多次提交。
专利号为CN200910113121.6的申请公开了一种基于AJAX的网页在线导入/导出大文件的方法。该发明提供了一种基于AJAX的网页在线导入/导出大文件的方法,该方法采用AJAX(Asynchronous JavaScript and XML,异步JavaScript和可扩展标记语言)技术和DHTML(Dynamic Hypertext MarkupLanguage,动态超文本标记语言),使得页面可以局部刷新,同时采用了循环多次发送短请求的方式,以减轻服务器在处理访问大文件以及插入数据库的负担和查询数据库导出大量数据时的负担,解决了现有技术中大文件通过网页倒入数据库和大量数据通过网页从数据库导出时的超时问题,并避免了后台导入的应用程序或服务,必须要有能在服务器上安装应用程序的权限的局限性,达到了能够很好地改善网页在线导入大文件的不足和改善网页在线导出大文件的不足的目的。
该方法也是一种基于WEB的文件导入导出的方法,但是这种方法的缺点是在处理大文件时对文件的访问和对数据库资源的访问过于频繁,性能上不够优化,并且无法处理多个客户端同时进行操作的情况。
发明内容
本发明的目的在于提供一种基于WEB方式导入导出文件的方法及网络服务器,以克服现有导出导入大文件时所带来的易超时问题。
为解决上述问题,本发明提供了一种基于网络方式导入文件的方法,包括:
网络(WEB)服务器在收到WEB客户端发来的待导入的文件后,对所述文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。
进一步地,
所述WEB客户端发送所述待导入的文件,具体包括:
所述WEB客户端向所述WEB服务器发送文件导入页面访问请求;
所述WEB服务器在收到所述文件导入页面访问请求后,向所述WEB客户端返回所述文件导入页面及为所述WEB客户端分配的唯一标识;
所述WEB客户端通过所述文件导入页面向所述WEB服务器发送所述待导入的文件;
所述WEB客户端在发送所述待导入的文件时,还向所述WEB服务器发送为其分配的唯一标识。
进一步地,所述方法还包括:
所述WEB服务器在收到WEB客户端发来的待导入的文件时,还接收到为所述WEB客户端分配的唯一标识;
记录为所述WEB客户端分配的唯一标识与已导入数据库的数据的进度的对应关系;其中,已导入数据库的数据的进度的初始值为0;
所述WEB服务器在每次将读取出的数据插入到所述数据库中后,对应更新当前已导入数据库的数据的进度。
进一步地,所述方法还包括:
所述WEB客户端在发送完所述待导入的文件后,循环向所述WEB服务器端发送进度请求,其中携带有所述WEB服务器为其分配的唯一标识:
所述WEB服务器接收到所述进度请求后,查找该唯一标识对应的已导入数据库的数据的进度,并将查找到的已导入数据库的数据的进度发送给所述WEB客户端,由所述WEB客户端进行显示。
进一步地,所述方法还包括:
所述WEB服务器在将所述文件中的所有数据插入到所述数据库中后,将当前已导入数据库的数据的进度的值更新为结束标识。
本发明还提供了一种基于WEB方式导出文件的方法,包括:
WEB服务器在收到WEB客户端发来的导出文件请求后,对保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。
进一步地,
所述WEB客户端发送所述导出文件请求,具体包括:
所述WEB客户端向所述WEB服务器发送文件导出页面访问请求;
所述WEB服务器在收到所述文件导出页面访问请求后,向所述WEB客户端返回所述文件导出页面及为所述WEB客户端分配的唯一标识;
所述WEB客户端通过所述文件导出页面向所述WEB服务器发送导出文件请求;
所述WEB客户端在发送所述导出文件请求时,还向所述WEB服务器发送为其分配的唯一标识。
进一步地,
所述WEB服务器在收到所述WEB客户端发来的导出文件请求时,还接收到为所述WEB客户端分配的唯一标识;
记录为所述WEB客户端分配的唯一标识与已导出数据库的数据的进度的对应关系;其中,已导出数据库的数据的进度的初始值为0;
所述WEB服务器在每次将读取出的数据写入到所述文件中后,对应更新当前已导出数据库的数据的进度。
进一步地,所述方法还包括:
所述WEB客户端在发送完所述导出文件请求后,循环向所述WEB服务器端发送进度请求,其中携带有所述WEB服务器为其分配的唯一标识:
所述WEB服务器接收到所述进度请求后,查找该唯一标识对应的已导出数据库的数据的进度,并将查找到的已导出数据库的数据的进度发送给所述WEB客户端,由所述WEB客户端进行显示。
进一步地,所述方法还包括:
所述WEB服务器在将所述文件中的所有数据写入到所述文件后,将当前已导入数据库的数据的进度的值更新为结束标识,并保存所述文件的存储路径;
所述WEB客户端在获取到的所述当前已导入数据库的数据的进度的值更新为结束标识时,向所述WEB服务器请求所述文件的存储路径,并显示获取到的所述存储路径。
相应地,本发明还提供了一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的待导入的文件;
读取单元,用于对所述接收单元接收到的所述文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。
进一步地,所述网络服务器还包括发送单元:
所述接收单元还用于接收所述WEB客户端发来的文件导入页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导入页面访问请求后,向所述WEB客户端返回所述文件导入页面及为所述WEB客户端分配的唯一标识。
进一步地,所述网络服务器还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来的待导入的文件时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导入数据库的数据的进度的对应关系;其中,已导入数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据插入到所述数据库中后,对应更新所述记录单元中当前已导入数据库的数据的进度。
进一步地,所述网络服务器还包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导入数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导入数据库的数据的进度发送给所述WEB客户端。
本发明还提供了一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的导出文件请求;
读取单元,用于在所述读取单元接收到所述导出文件请求后,对本网络服务中保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。
进一步地,
所述接收单元还用于接收所述WEB客户端发来的文件导出页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导出页面访问请求后,向所述WEB客户端返回所述文件导出页面及为所述WEB客户端分配的唯一标识。
进一步地,所述网络服务器还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来导出文件请求时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导出数据库的数据的进度的对应关系;其中,已导出数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据写入到所述文件中后,对应更新当前已导出数据库的数据的进度。
进一步地,所述网络服务器还包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导出数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导出数据库的数据的进度发送给所述WEB客户端。
与现有技术相比,本发明达到了以下几个效果:更加稳定的实现,不会因为一次传输的文件过大而出现错误;无需刷新页面的导入导出过程展现,具有良好的易用性;减少对文件和数据库的操作次数,使得读取文件和导入导出数据库的性能更加优化;支持多客户端同时操作,提供了更好的功能体验。
附图说明
图1为本发明实施例中基于WEB方式导入文件的方法流程图;
图2为本发明的实施例导入的服务器端流程图;
图3为本发明的实施例导入的WEB客户端流程图;
图4为本发明的实施例导出的服务器端流程图;
图5为本发明的实施例导出的WEB客户端流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本实施例中,一种基于WEB方式导入文件的方法,如图1所示,包括:
WEB服务器在收到WEB客户端发来的待导入的文件后,对该文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。该预设数据的值可以根据数据库和服务器情况选择以保证最好的性能。
在具体实现时,WEB客户端向WEB服务器请求访问文件导入页面,以通过该页面向WEB服务器发送待导入的文件。WEB服务器在收到WEB客户端发来的访问请求后,为该WEB客户端分配一个唯一标识;则WEB客户端在通过文件导入页面向WEB服务器发送待导入的文件时,还需将WEB服务器为其分配的唯一标识一同发送给WEB服务器。
WEB服务器记录接收到的该WEB客户端的唯一标识信息及已导入数据库的数据的进度的对应关系。其中,已导入数据库的数据的进度的初始值为0。
在每次将读取出的数据插入到数据库中后,对应更新当前已导入数据库的数据的进度,该值可以是已经导入数据库的数据的比特数或者是计算出的已经导入数据库的数据的比特数所占该文件总比特数的百分比等数据。
WEB客户端在发送完待导入的文件后,通过AJAX循环向WEB服务器端发送进度请求,其中携带有WEB服务器为其分配的唯一标识:WEB服务器接收到该进度请求后,查找该唯一标识对应的已导入数据库的数据的进度,并将查找到的已导入数据库的数据的进度发送给WEB客户端,由WEB客户端进行显示。
WEB客户端采用AJAX方式与服务器端进行交互可以实现界面无刷新更新,并且可采用进度条等方式展现导入进度。
在文件读取完毕并且将所有数据全部插入数据库后,将已导入数据库的数据的进度的值置为结束标识,并且将文件句柄和数据库资源关闭;
WEB客户端获取到已导入数据库的数据的进度的值为结束标识后,停止循环发送进度请求并提示用户已完成导入。
相应地,一种基于WEB方式导出文件的方法,包括:
WEB服务器在收到WEB客户端发来的导出文件请求后,对保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。当所有数据被写入到文件后,把该文件的路径发送给该WEB客户端,供用户根据该路径进行文件下载。
在具体实现时,WEB客户端向WEB服务器请求访问文件导出页面,以通过该页面向WEB服务器请求导出文件。WEB服务器在收到WEB客户端发来的访问请求后,为该WEB客户端分配一个唯一标识;则WEB客户端在通过文件导出页面向WEB服务器请求导出文件时,还需将WEB服务器为其分配的唯一标识一同发送给WEB服务器。
WEB服务器记录接收到的该WEB客户端的唯一标识信息及已导出数据库的数据的进度的对应关系。其中,已导出数据库的数据的进度的初始值为0。
在每次将读取出的数据写入文件后,对应更新当前已导出数据库的数据的进度,该值可以是已经导出数据库的数据的比特数或者是计算出的已经导出数据库的数据的比特数所占该文件总比特数的百分比等数据。
WEB客户端在发送完上述导出文件请求后,通过AJAX循环向WEB服务器端发送进度请求,其中携带有WEB服务器为其分配的唯一标识:WEB服务器接收到该进度请求后,查找该唯一标识对应的已导出数据库的数据的进度,并将查找到的已导出数据库的数据的进度发送给WEB客户端,由WEB客户端进行显示。
WEB客户端采用AJAX方式与服务器端进行交互可以实现界面无刷新更新,并且可采用进度条等方式展现导入进度。
在文件读取完毕并且将所有数据全部插入数据库后,将已导出数据库的数据的进度的值置为结束标识,并且将文件句柄和数据库资源关闭;
WEB客户端获取到已导入数据库的数据的进度的值为结束标识后,停止循环发送进度请求并提示用户已完成导出。
在读取数据时采用分页查询的方法,即每次只读取出预设的recordPerPage条数据,其每次读取的数据范围为pageNum*recordPerPage+1至(pageNum+1)*recordPerPage;通过计数器pageNum递增来分批查询所有数据。
下面将结合附图详细描述本发明。
图2是根据本发明实施例的基于WEB的通过文件导入数据中服务器端的流程:
本实施例网页展现采用Jsp语言,并且通过CSS(Cascading Style Sheet,层叠样式表)和JavaScript对页面格式和展现内容进行控制;数据库采用Sybase;WEB Server采用tomcat发布带有文件导入导出模块的应用;前端Jsp通过Ajax(本例中采用DWR)来进行异步调用后台服务;本实施例约定导入文件为文本格式,且每一行为一条记录;
步骤101,服务器端接收到WEB客户端发送来的文件导入请求,并且获取到WEB客户端提交上来的文件和客户端标识ClientID;其中,该标识是服务器端预先为该WEB客户端分配的;
服务器端开始打开文件,对文件进行检查,如果文件非法或者为空时,流程结束,并向客户端返回错误信息;否则,执行下一步骤;
步骤102,服务器端逐行读取文件中的数据。
步骤103,对读取的内容与约定的格式进行对比,如果一致则保存在校验正确的列表中ValidatedSuccessList,如果不一致则将本行行号和错误原因保存在校验失败的列表中ValidatedFailedLIst;
对读取的内容按约定格式分解到各个字段属性中,并对每个字段进行正确性校验,校验正确则保存在ValidatedSuccessList列表中,如果校验失败则将本行行号和错误原因保存在校验失败的列表中ValidatedFailedLIst;
步骤104,判断文件是否读完,如果没有则转入步骤102继续进行;
步骤105,判断校验正确的数据列表ValidatedSuccessList中是否有数据,如果没有则转入步骤109,如果有则转入步骤106;
步骤106,利用数据库的批量提交功能,将ValidatedSuccessList中的数据构造成可执行的SQL语句,累计一定数量后向数据库进行提交操作;如果有提交失败的记录则将行号和错误原因保存在校验失败的列表ValidatedFailedLIst中;
定义变量CommittedCount保存累计已经提交数据库的记录数;将CommittedCount/ValidatedSuccessList.length()计算出已经提交数据所占所有数据的百分比,并保存在变量CommittedProgress中;
定义Hash变量ProgressHash,保存每个客户端ClientID与其对应的CommittedProgress变量;
步骤107,每次批量提交数据库时,将本次成功提交的数据累计到successImportCount中,并计算出CommittedProgress,更新到ProgressHash中;
步骤108,判断文件中所有数据是否都已经读取完毕并提交数据库,若是,则执行步骤109;否则,返回步骤106;
步骤109,将本次导入过程中的成功信息和错误列表保存在一个Hash变量ResultHash中,对应的key为本次导入的客户端标识ClientID;
步骤110,关闭相应的数据库操作资源,并且当客户端发送请求获取对应的导入结果后,删除ProgressHash和ResultHash中本次客户端表示ClientID对应的数据。
图3是根据本发明实施例的基于WEB的通过文件导入数据中客户端的流程:
客户端通过URL(Universal Resource Locator,统一资源定位符)请求访问文件导入功能的页面,服务器端收到请求后分配一个唯一的标识ClientID给客户端,客户端获取后保存;
步骤201,客户端提供界面供用户选择需要导入的文件,并且在用户确认后将本客户端的ClientID和文件一起提交给服务器端;
步骤202,客户端通过DWR(Direct Web Remoting,直接Web远程控制)定时向服务器端发送异步请求,请求中携带有本客户端的ClientID,服务器从ProgressHash获取客户端标识ClientID对应的导入进度CommittedProgress并返回给客户端;
步骤203,客户端通过JavaScript和CSS将CommittedProgress展现在界面,本实施例将CommittedProgress展现为导入过程的进度条;
步骤204,客户端判断获取的CommittedProgress的值是否为结束标识,如果不是则继续执行步骤202,否则执行步骤205;
步骤205,客户端向服务器端发送请求,请求中携带有本客户端的ClientID,服务器端从ResultHash获取客户端标识ClientID对应的导入结果和错误列表返回给客户端;
步骤206,客户端将获取的导入结果展现在界面,本实施例展现的是导入成功的条数和错误信息。
图4是根据本发明实施例的基于WEB的将数据库数据通过文件导出服务器端的流程。
步骤301,服务器端接收到WEB客户端发送来的文件导出请求,并且获取到客户端提交上来的需要导出的数据表标识和客户端标识ClientID;
定义变量RecordCountInDB,查询本次导出的数据库表中的记录数并赋值给RecordCountInDB,定义变量CommittedCount保存累计已经写入的记录数;将CommittedCount/RecordCountInDB计算出已经写入文件的数据所占所有数据的百分比,并保存在变量CommittedProgress中;定义Hash变量ProgressHash,保存每个客户端ClientID与其对应的CommittedProgress变量;
步骤302,考虑到可能存在大数据量的导出情况,从数据库查询中查询数据时采用分页查询的方式;定义变量CountPerPage为每次分页查询出来的最大记录数,定义变量PageNum为当前页数,初始值为0;则每次分页查询CountPerPage*PageNum+1到CountPerPage*(PageNum+1)的数据;每次查询完毕后PageNum加1;
步骤303,将查询到的数据按照事先约定的格式逐行写入文件中;
步骤304,将本次写入的数据数量累计到CommittedCount中,计算导出进度变量并保存在CommittedProgress;更新ProgressHash中本次ClientID对应的数据;
305步骤,如果数据库中所有数据都已经读取完毕并写入文件,则转入步骤306,否则转入步骤302继续执行;
步骤306,关闭相应的数据库操作资源,生成文件,将文件下载路径保存在一个Hash变量ResultHash中,对应的key为本次导出过程的ClientID;
步骤307,当客户端获取文件下载路径后,删除ProgressHash和ResultHash中本次客户端ClientID对应的数据。
图5是根据本发明实施例的基于WEB的将数据库数据通过文件导出客户端的流程:
客户端通过URL访问文件导出功能的页面,服务器端收到请求后分配一个唯一的标识ClientID给客户端,客户端获取后保存;
步骤401,客户端提供界面供用户选择需要导出的数据库标识,并且在确认后将本客户端的ClientID和需要导出的数据库标识一起提交给服务器端;
步骤402,客户端通过DWR定时向服务器端发送异步请求,请求中携带有本客户端的ClientID,服务器从ProgressHash获取客户端标识ClientID对应的导出进度CommittedProgress并返回给客户端;
步骤403,客户端通过JavaScript和CSS将CommittedProgress展现在界面,本实施例将CommittedProgress展现为导出过程的进度条;
步骤404,客户端判断获取的CommittedProgress是否到达完成状态,如果没有完成则继续转入步骤402,完成则转入步骤405;
步骤405,客户端向服务器端发送请求,请求中携带有本客户端的ClientID,服务器端从ResultHash中获取该客户端标识ClientID对应的导出文件的下载路径返回给客户端;
步骤406,客户端将获取的下载路径展现在界面,供用户进行下载。
相应地,在本实施例中,还提供了一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的待导入的文件;
读取单元,用于对所述接收单元接收到的所述文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。
较佳地,所述网络服务器还包括发送单元:
所述接收单元还用于接收所述WEB客户端发来的文件导入页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导入页面访问请求后,向所述WEB客户端返回所述文件导入页面及为所述WEB客户端分配的唯一标识。
较佳地,所述网络服务器还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来的待导入的文件时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导入数据库的数据的进度的对应关系;其中,已导入数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据插入到所述数据库中后,对应更新所述记录单元中当前已导入数据库的数据的进度。
较佳地,所述网络服务器还包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导入数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导入数据库的数据的进度发送给所述WEB客户端。
本实施例还提供了另外一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的导出文件请求;
读取单元,用于在所述读取单元接收到所述导出文件请求后,对本网络服务中保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。
较佳地,
所述接收单元还用于接收所述WEB客户端发来的文件导出页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导出页面访问请求后,向所述WEB客户端返回所述文件导出页面及为所述WEB客户端分配的唯一标识。
较佳地,所述网络服务器还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来导出文件请求时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导出数据库的数据的进度的对应关系;其中,已导出数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据写入到所述文件中后,对应更新当前已导出数据库的数据的进度。
较佳地,所述网络服务器还包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导出数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导出数据库的数据的进度发送给所述WEB客户端。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种基于网络方式导入文件的方法,包括:
网络(WEB)服务器在收到WEB客户端发来的待导入的文件后,对所述文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。
2.如权利要求1所述的方法,其特征在于:
所述WEB客户端发送所述待导入的文件,具体包括:
所述WEB客户端向所述WEB服务器发送文件导入页面访问请求;
所述WEB服务器在收到所述文件导入页面访问请求后,向所述WEB客户端返回所述文件导入页面及为所述WEB客户端分配的唯一标识;
所述WEB客户端通过所述文件导入页面向所述WEB服务器发送所述待导入的文件;
所述WEB客户端在发送所述待导入的文件时,还向所述WEB服务器发送为其分配的唯一标识。
3.如权利要求2所述的方法,其特征在于,还包括:
所述WEB服务器在收到WEB客户端发来的待导入的文件时,还接收到为所述WEB客户端分配的唯一标识;
记录为所述WEB客户端分配的唯一标识与已导入数据库的数据的进度的对应关系;其中,已导入数据库的数据的进度的初始值为0;
所述WEB服务器在每次将读取出的数据插入到所述数据库中后,对应更新当前已导入数据库的数据的进度。
4.如权利要求3所述的方法,其特征在于,还包括:
所述WEB客户端在发送完所述待导入的文件后,循环向所述WEB服务器端发送进度请求,其中携带有所述WEB服务器为其分配的唯一标识:
所述WEB服务器接收到所述进度请求后,查找该唯一标识对应的已导入数据库的数据的进度,并将查找到的已导入数据库的数据的进度发送给所述WEB客户端,由所述WEB客户端进行显示。
5.如权利要求3或4所述的方法,其特征在于,还包括:
所述WEB服务器在将所述文件中的所有数据插入到所述数据库中后,将当前已导入数据库的数据的进度的值更新为结束标识。
6.一种基于WEB方式导出文件的方法,包括:
WEB服务器在收到WEB客户端发来的导出文件请求后,对保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。
7.如权利要求6所述的方法,其特征在于:
所述WEB客户端发送所述导出文件请求,具体包括:
所述WEB客户端向所述WEB服务器发送文件导出页面访问请求;
所述WEB服务器在收到所述文件导出页面访问请求后,向所述WEB客户端返回所述文件导出页面及为所述WEB客户端分配的唯一标识;
所述WEB客户端通过所述文件导出页面向所述WEB服务器发送导出文件请求;
所述WEB客户端在发送所述导出文件请求时,还向所述WEB服务器发送为其分配的唯一标识。
8.如权利要求7所述的方法,其特征在于:
所述WEB服务器在收到所述WEB客户端发来的导出文件请求时,还接收到为所述WEB客户端分配的唯一标识;
记录为所述WEB客户端分配的唯一标识与已导出数据库的数据的进度的对应关系;其中,已导出数据库的数据的进度的初始值为0;
所述WEB服务器在每次将读取出的数据写入到所述文件中后,对应更新当前已导出数据库的数据的进度。
9.如权利要求8所述的方法,其特征在于,还包括:
所述WEB客户端在发送完所述导出文件请求后,循环向所述WEB服务器端发送进度请求,其中携带有所述WEB服务器为其分配的唯一标识:
所述WEB服务器接收到所述进度请求后,查找该唯一标识对应的已导出数据库的数据的进度,并将查找到的已导出数据库的数据的进度发送给所述WEB客户端,由所述WEB客户端进行显示。
10.如权利要求6所述的方法,其特征在于,还包括:
所述WEB服务器在将所述文件中的所有数据写入到所述文件后,将当前已导入数据库的数据的进度的值更新为结束标识,并保存所述文件的存储路径;
所述WEB客户端在获取到的所述当前已导入数据库的数据的进度的值更新为结束标识时,向所述WEB服务器请求所述文件的存储路径,并显示获取到的所述存储路径。
11.一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的待导入的文件;
读取单元,用于对所述接收单元接收到的所述文件中的数据进行读取;每读取出预设数量的数据,将该次读取出的数据插入到数据库中。
12.如权利要求11所述的网络服务器,其特征在于,还包括发送单元:
所述接收单元还用于接收所述WEB客户端发来的文件导入页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导入页面访问请求后,向所述WEB客户端返回所述文件导入页面及为所述WEB客户端分配的唯一标识。
13.如权利要求12所述的网络服务器,其特征在于,还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来的待导入的文件时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导入数据库的数据的进度的对应关系;其中,已导入数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据插入到所述数据库中后,对应更新所述记录单元中当前已导入数据库的数据的进度。
14.如权利要求13所述的网络服务器,其特征在于,还包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导入数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导入数据库的数据的进度发送给所述WEB客户端。
15.一种网络服务器,包括:
接收单元,用于接收网络(WEB)客户端发来的导出文件请求;
读取单元,用于在所述读取单元接收到所述导出文件请求后,对本网络服务中保存的该文件相关的数据进行读取;每读取出预设数量的数据,将该次读取出的数据写入到该文件中。
16.如权利要求15所述的网络服务器,其特征在于:
所述接收单元还用于接收所述WEB客户端发来的文件导出页面访问请求;
所述发送单元用于在所述接收单元接收到所述文件导出页面访问请求后,向所述WEB客户端返回所述文件导出页面及为所述WEB客户端分配的唯一标识。
17.如权利要求16所述的网络服务器,其特征在于,还包括:记录单元:
所述接收单元还用于在收到WEB客户端发来导出文件请求时,还接收到为所述WEB客户端分配的唯一标识;
所述记录单元用于记录所述接收单元接收到的所述唯一标识与已导出数据库的数据的进度的对应关系;其中,已导出数据库的数据的进度的初始值为0;
所述读取单元用于在每次将读取出的数据写入到所述文件中后,对应更新当前已导出数据库的数据的进度。
18.如权利要求17所述的网络服务器,其特征在于,包括查询单元:
所述接收单元还用于接收所述WEB客户端发来的携带有唯一标识的进度请求;
所述查询单元用于查找所述接收单元接收到的所述唯一标识对应的已导出数据库的数据的进度;
所述发送单元用于将所述查询单元查找到的已导出数据库的数据的进度发送给所述WEB客户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102465230A CN102426579A (zh) | 2011-08-25 | 2011-08-25 | 一种基于网络方式导入导出文件的方法 |
PCT/CN2012/072295 WO2012155621A1 (zh) | 2011-08-25 | 2012-03-14 | 一种基于网络方式导入导出文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102465230A CN102426579A (zh) | 2011-08-25 | 2011-08-25 | 一种基于网络方式导入导出文件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102426579A true CN102426579A (zh) | 2012-04-25 |
Family
ID=45960561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102465230A Pending CN102426579A (zh) | 2011-08-25 | 2011-08-25 | 一种基于网络方式导入导出文件的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102426579A (zh) |
WO (1) | WO2012155621A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973729A (zh) * | 2013-01-28 | 2014-08-06 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
CN104268277A (zh) * | 2014-10-15 | 2015-01-07 | 北京国双科技有限公司 | 用于数据库的数据读取方法及装置 |
CN105099908A (zh) * | 2014-05-08 | 2015-11-25 | 华为技术有限公司 | 路径计算的方法、消息响应的方法以及相关设备 |
CN105119763A (zh) * | 2015-09-24 | 2015-12-02 | 烽火通信科技股份有限公司 | 基于RIA的Web网管客户端的大数据快速导出方法及系统 |
CN107147706A (zh) * | 2017-04-26 | 2017-09-08 | 努比亚技术有限公司 | 数据导出方法及装置 |
CN107797823A (zh) * | 2017-09-27 | 2018-03-13 | 平安科技(深圳)有限公司 | 业务规则管理方法、装置、存储介质和计算机设备 |
CN108628890A (zh) * | 2017-03-21 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种数据导出方法及系统 |
CN109299157A (zh) * | 2018-08-27 | 2019-02-01 | 杭州安恒信息技术股份有限公司 | 一种分布式大单表的数据导出方法及装置 |
CN110971688A (zh) * | 2019-11-29 | 2020-04-07 | 金蝶软件(中国)有限公司 | 一种数据导出方法及相关设备 |
CN110971669A (zh) * | 2019-11-11 | 2020-04-07 | 北京达佳互联信息技术有限公司 | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
CN112506866A (zh) * | 2020-10-10 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种适用于大数据量文件的导入方法 |
CN113761037A (zh) * | 2020-09-28 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 一种导入导出方法、装置、服务器、介质及服务系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040236796A1 (en) * | 2003-05-19 | 2004-11-25 | Ankur Bhatt | Data importation and exportation for computing devices |
CN1630235A (zh) * | 2003-12-15 | 2005-06-22 | 华为技术有限公司 | 基于消息的分布式平台的客户端反映任务进度的方法 |
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
CN101655873A (zh) * | 2009-08-28 | 2010-02-24 | 金蝶软件(中国)有限公司 | 单点登录系统及其数据导入导出方法和装置 |
CN101826085A (zh) * | 2009-12-30 | 2010-09-08 | 厦门市美亚柏科信息股份有限公司 | 一种基于ajax的网页在线导入/导出大文件的方法 |
US20100274813A1 (en) * | 2009-04-23 | 2010-10-28 | Microsoft Corporation | Extensible framework for data import and export |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484645B2 (en) * | 2008-06-10 | 2013-07-09 | Hewlett-Packard Development Company, L.P. | Apparatus, and associated method, for handling content pursuant to transfer between enterprise content management repositories |
-
2011
- 2011-08-25 CN CN2011102465230A patent/CN102426579A/zh active Pending
-
2012
- 2012-03-14 WO PCT/CN2012/072295 patent/WO2012155621A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040236796A1 (en) * | 2003-05-19 | 2004-11-25 | Ankur Bhatt | Data importation and exportation for computing devices |
CN1630235A (zh) * | 2003-12-15 | 2005-06-22 | 华为技术有限公司 | 基于消息的分布式平台的客户端反映任务进度的方法 |
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
US20100274813A1 (en) * | 2009-04-23 | 2010-10-28 | Microsoft Corporation | Extensible framework for data import and export |
CN101655873A (zh) * | 2009-08-28 | 2010-02-24 | 金蝶软件(中国)有限公司 | 单点登录系统及其数据导入导出方法和装置 |
CN101826085A (zh) * | 2009-12-30 | 2010-09-08 | 厦门市美亚柏科信息股份有限公司 | 一种基于ajax的网页在线导入/导出大文件的方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973729A (zh) * | 2013-01-28 | 2014-08-06 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
US10623313B2 (en) | 2014-05-08 | 2020-04-14 | Huawei Technologies Co., Ltd. | Path computation method, message responding method, and related device |
CN105099908B (zh) * | 2014-05-08 | 2019-02-05 | 华为技术有限公司 | 路径计算的方法、消息响应的方法以及相关设备 |
US11196667B2 (en) | 2014-05-08 | 2021-12-07 | Huawei Technologies Co., Ltd. | Path computation method, message responding method, and related device |
CN105099908A (zh) * | 2014-05-08 | 2015-11-25 | 华为技术有限公司 | 路径计算的方法、消息响应的方法以及相关设备 |
US10142224B2 (en) | 2014-05-08 | 2018-11-27 | Huawei Technologies Co., Ltd. | Path computation method, message responding method, and related device |
CN104268277A (zh) * | 2014-10-15 | 2015-01-07 | 北京国双科技有限公司 | 用于数据库的数据读取方法及装置 |
CN105119763A (zh) * | 2015-09-24 | 2015-12-02 | 烽火通信科技股份有限公司 | 基于RIA的Web网管客户端的大数据快速导出方法及系统 |
CN105119763B (zh) * | 2015-09-24 | 2018-12-28 | 烽火通信科技股份有限公司 | 基于RIA的Web网管客户端的大数据快速导出方法及系统 |
CN108628890B (zh) * | 2017-03-21 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 一种数据导出方法及系统 |
CN108628890A (zh) * | 2017-03-21 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种数据导出方法及系统 |
CN107147706A (zh) * | 2017-04-26 | 2017-09-08 | 努比亚技术有限公司 | 数据导出方法及装置 |
CN107797823A (zh) * | 2017-09-27 | 2018-03-13 | 平安科技(深圳)有限公司 | 业务规则管理方法、装置、存储介质和计算机设备 |
CN107797823B (zh) * | 2017-09-27 | 2020-01-17 | 平安科技(深圳)有限公司 | 业务规则管理方法、装置、存储介质和计算机设备 |
WO2019062132A1 (zh) * | 2017-09-27 | 2019-04-04 | 平安科技(深圳)有限公司 | 业务规则管理方法、装置、存储介质和计算机设备 |
CN109299157A (zh) * | 2018-08-27 | 2019-02-01 | 杭州安恒信息技术股份有限公司 | 一种分布式大单表的数据导出方法及装置 |
CN110971669A (zh) * | 2019-11-11 | 2020-04-07 | 北京达佳互联信息技术有限公司 | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
CN110971669B (zh) * | 2019-11-11 | 2022-03-01 | 北京达佳互联信息技术有限公司 | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
CN110971688A (zh) * | 2019-11-29 | 2020-04-07 | 金蝶软件(中国)有限公司 | 一种数据导出方法及相关设备 |
CN110971688B (zh) * | 2019-11-29 | 2023-05-12 | 金蝶软件(中国)有限公司 | 一种数据导出方法及相关设备 |
CN113761037A (zh) * | 2020-09-28 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 一种导入导出方法、装置、服务器、介质及服务系统 |
CN112506866A (zh) * | 2020-10-10 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种适用于大数据量文件的导入方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012155621A1 (zh) | 2012-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426579A (zh) | 一种基于网络方式导入导出文件的方法 | |
CN101826085B (zh) | 一种基于ajax的网页在线导入/导出大文件的方法 | |
US20130117376A1 (en) | Document collaboration | |
US9235636B2 (en) | Presenting data in response to an incomplete query | |
CN103747072A (zh) | 一种读写数据的方法和应用服务器 | |
EP3018884B1 (en) | Mobile terminal cross-browser login method and device | |
US10599753B1 (en) | Document version control in collaborative environment | |
CN101102313B (zh) | 自动更换代理服务器的网络下载系统及方法 | |
CN103581212A (zh) | 基于云端分析的表单自动填充方法、系统及装置 | |
US20150200832A1 (en) | Adaptive Document Autosaving Rate Based on Different Conditions | |
CN105094329B (zh) | 数据录入方法、装置及应用其的电子设备 | |
KR101690587B1 (ko) | 전자 문서의 데이터 업데이트 방법, 장치, 프로그램 및 기록매체 | |
US9471896B2 (en) | Memo synchronization system, mobile system, and method for synchronizing memo data | |
US11138164B1 (en) | Alter table implementation details with schema versioning | |
CN103259772A (zh) | 一种网址访问控制方法及装置 | |
CN110362630A (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN103914293A (zh) | 生成页面的方法及服务器 | |
JP5467136B1 (ja) | ターゲット広告配信システム、同システムにおけるターゲット広告配信方法、ターゲット広告配信プログラム及び同プログラムを記録した情報記録媒体 | |
JP6295577B2 (ja) | サーバ装置、プログラム、及び、情報提供方法 | |
CN103092580A (zh) | 基于ajax技术的动态表头控制的实现 | |
US9600593B2 (en) | Communication system and computer readable medium used therein | |
CN103605640B (zh) | 表单适配方法和装置 | |
CN105117472A (zh) | 增量式文件的生成系统及导入系统 | |
US11789949B2 (en) | Method and system of performing an operation on a single-table, multi-tenant database and partition key format therefor | |
CN101894159A (zh) | 文档在线浏览方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120425 |