[发明专利]一种数据上传方法、系统和计算机可读存储介质有效
申请号: | 201710356367.0 | 申请日: | 2017-05-19 |
公开(公告)号: | CN108959292B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 马文军 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 姜怡;阚梓瑄 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 上传 方法 系统 计算机 可读 存储 介质 | ||
本发明公开了一种在系统中上传数据的方法,其中所述系统包括至少一个异步处理器,并且所述至少一个异步处理器中的每个与一个队列相关联,该方法包括:响应于用户输入,将载有数据的文件存储至数据库,并分配唯一的文件标识;根据文件标识生成散列值;根据散列值将文件存储至相应的队列中;每个异步处理器按照与该异步处理器相对应的队列中先后顺序串行地解析文件中的数据,并将解析出的数据存储至数据库。
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种数据上传的方法、系统及计算机可读存储介质。
背景技术
随着计算机技术的发展和普及,很多行业倾向于采用电子化的业务系统,相应地,需要录入业务数据到业务系统。起初,由于数据量较少,一般采用人工录入。随着业务的发展,录入数据量的增加,人工录入变得非常低效。接着,出现了采用固定模板的文件(如,Excel文件)进行上传的方法,即,提供通过文件来批量上传数据的功能,其中文件的每列对应不同的属性,由系统解析文件,将数据写入数据库中,用于后续业务系统的使用。随着业务量的增长,批量上传的数据量越来越大,上传的人数越来越多,批量上传文件并写入数据库的方式会出现如下问题:文件较大时,系统解析文件过慢,插入数据库过慢,批量上传交互时间过长甚至超时,用户体验非常不好。当文件过大、内容过多时,现有的方法通常会要求用户手工拆分文件,不仅操作繁琐,而且费时费力。更甚者,当有大并发量的批量上传时,会因同时有大量数据库的写入操作而导致数据库崩溃,使得整个服务不可用。
如何解决批量上传数据所带来的问题并改善用户体验,是亟需解决的难题。
发明内容
为了解决现有技术中存在的一个或多个问题,本发明提供一种上传数据的方法、系统及计算机可读存储介质。
根据本发明的一方面,提供了一种在系统中上传数据的方法,其中所述系统包括至少一个异步处理器,并且所述至少一个异步处理器中的每个与一个队列相关联,该方法包括:响应于用户输入,将载有数据的文件存储至数据库,并分配唯一的文件标识;根据文件标识生成散列值;根据散列值将文件存储至相应的队列中;每个异步处理器按照与该异步处理器相对应的队列中先后顺序串行地解析文件中的数据,并将解析出的数据存储至数据库。可选地,在解析文件之前,该方法还包括:判断该文件的大小是否大于阈值,当大于阈值时,将该文件进行拆分,将拆分后的每个文件上传至数据库,并得到拆分后的每个文件的唯一的文件标识;如果该文件的大小不大于阈值,则解析文件中的数据,并将数据存储至数据库中。在根据散列值将文件存储至相应的队列中之后,向用户返回上传成功消息。在该方法中,异步处理器的数量小于或等于数据库允许的最大并发数量。
根据本发明的第二方面,提供了一种上传数据的系统,包括:数据库,配置成存储用户上传的载有数据的文件,并分配唯一的文件标识;至少一个处理器,配置成:根据文件标识生成散列值;将文件存储至多个队列中的与所述散列值对应的队列中;判断与该处理器相关联的队列中是否有任务正在执行,如果有,则等待;如果没有,则解析文件中的数据,并将数据存储至数据库。可选地,在该方法中,处理器还配置成,在解析文件之前,判断该文件的大小是否大于阈值,当大于阈值时,将该文件进行拆分,将拆分后的每个文件上传至数据库,并得到拆分后的每个文件的唯一的文件标识;如果该文件的大小不大于阈值,则解析文件中的数据,将数据存储至数据库中。在根据散列值将文件存储至相应的队列中之后,向用户返回上传成功消息。当与该处理器相关联的队列中有多个需要处理的文件时,所述处理器根据队列中的先后顺序串行地解析每个文件。
根据本发明的第三方面,提供了一种上传数据的设备,包括:用于存储用户上传的载有数据的文件并分配唯一的文件标识的装置;用于根据文件标识生成散列值的装置;用于将文件存储至多个队列中的与所述散列值对应的队列中的装置;用于判断当前队列中是否有任务正在执行,如果有,则等待;如果没有,则解析文件中的数据,并将数据存储至数据库的装置。
根据本发明的第四方面,提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时,执行根据本发明的第一方面的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710356367.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:查询方法及相关装置
- 下一篇:一种文本数据分类方法及服务器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置