软件单页显示几十万条数据,有什么意义?程序员:客户要求的!
这个需求来自于一家上市公司,名字我就不说了,每天有几十万条订单,而这些订单数据被放在了一个txt文档里面,以指定的结构存储的,类似于CSV文件的格式吧。
客户找到我们,需要我们将txt文档先解析出来,然后导入到系统里面,这还没完,导入到系统以后,还不能存入数据库,得先缓存在本地,因为客户还要对这些数据进行修改!这就是为什么软件一页要显示几十万条数据的缘由!
而且,客户那边处理数据的人员电脑本来就配置不高,一个显示几十万条数据的txt文档一般配置的电脑打开要半天,编辑后保存也要半天,这也是客户要做软件的缘由!
其实,这种做法在程序员看起来,本来就很傻了,但是还有更让人犯懵的操作!
客户要求我们在这个页面上做筛选条件,也就是按照他们的要求,以指定条件筛选出他们想要的数据,最后勾选这些数据,再存入数据库!
我们觉得客户这样操作太麻烦,于是还给客户做了解析后的数据Excel导出功能,但是客户不爱用,一问才知道,他们已经习惯了这种操作方式!
在没有让我们公司帮他们做这个软件的时候他们是怎么操作的呢?
首先,把这个txt文档中的分隔符替换成制表符(tab键),然后再复制整体数据到Excel文档中,然后再在Excel文档中进行编辑!
最让我佩服的操作来了,他们需要一行一行去核对每一行的数据是否正确!
我当时听到他们是这么操作的时候,我都惊了,要知道,一天几十万条数据啊!
结果客户跟我们说,他们每天有将近二十个人专门来干这个事情!我听完直言佩服!
当然了,最后,软件开发完成以后,他们的效率提升了不知道多少倍,以前快二十个人的团队直接缩减成了四个人!因为其中最主要的核对订单信息的这个操作被软件给替代了,因为他们核对的东西很简单,就是想要核对订单状态,比如说已付款、已发货、待收货、已收货等等。
我们软件做的事情,就是将导入后的数据跟已经存入数据库的数据进行比对,如果发现状态异常,就在软件前端提示客户。
这也是为什么软件一页要显示几十万条数据的原因,因为异常订单我们会用红色标记给客户明显提示出来,这样客户一翻滚动条,所有信息都能看见,点一个排序按钮,所有异常订单都会显示在最前面。
在知道哪些订单异常以后,客户还要对有异常的订单进行人工核对,核对完成后再手动去把订单状态改过来,或者直接结单。
最后把需要传入数据库的订单数据传入数据库,这样虽然开始一页数据有几十万条,但是随着操作人员的操作,最后数据会越来越少,直至所有数据都处理完!
有人会问,如果软件崩了怎么办?
第一,我们会提示客户,每修改一定数据,最好将数据勾选上传,以免丢失。
第二,如果真的不慎操作到一半,软件崩了或者有其他情况,导致不得不重新导入数据,这时候导入的数据会跟数据库做比对,相同状态的数据不会显示在界面上,这也是客户要求的。
客户在做完所有数据以后,也会将txt文档重新导入,看看是否有遗漏的。
结语
所以,软件一个页面显示几十万条数据,看似不合理,但是,这也是没有办法的办法,当然也会有更好的办法,这取决于客户的操作习惯!
最后,针对这样的软壳开发需求,结合客户的实际应用场景,您有什么更好的办法吗?