本发明涉及物流管理领域,尤其涉及一种快件订单更新方法、装置、设备及存储介质。
背景技术:
随着互联网的发展,电子商务日益显示出巨大的发展潜力,并在各行各业广泛应用。电子上午改造了人们的购物、消费等经济行为的方式,同时结合物流的快速发展,使人们获得服务和产品的速度、丰富度增加。同时,用户的增加也反过来增加电子商务的服务范围。因此,越来越多类型的产品踏入电子商务这一领域。
当一家公司的平台达到一定规模时,关于订单的数据也越来越多,订单是否发货、该订单对应的物流信息等等,公司需要及时在统计和更新这些信息。然而直接将大量数据一次性输入系统,会对系统带来延迟,并且订单存在一定的重复。故而对后续费用结算,与其它平台进行对接等存在误差。
技术实现要素:
本发明的主要目的在于解决快件订单更新过程中,更新准确性差的技术问题。
本发明第一方面提供了一种快件订单更新方法,所述快件订单更新方法包括:
每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
将读取的所述订单数据更新至后端数据库内的订单源文件中。
可选的,在本发明第一方面的第一种实现方式中,所述订单数据包括:订单状态、唯一键属性值和与订单属性值,不同快件订单通过订单的唯一键属性值进行区分,所述订单更新包括:订单状态更新与订单属性值更新,所述订单源文件包括:订单状态源文件与订单属性值源文件。
可选的,在本发明第一方面的第二种实现方式中,所述生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中包括:
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件中;
当所述csv文件写入操作结束时,生成与所述csv文件对应的标识文件;
将所述csv文件和所述标识文件关联并存入网络附加存储盘中,其中,订单状态与订单属性值分别存入不同的csv文件中。
可选的,在本发明第一方面的第三种实现方式中,所述从所述网络附加存储盘中,读取所述csv文件中的所述订单数据包括:
判断所述网络附件存储盘中是否存在所述标识文件;
若是,则读取所述标识文件对应的所述csv文件中的订单状态或订单属性值。
可选的,在本发明第一方面的第四种实现方式中,所述将读取的所述订单数据更新至后端数据库内的订单源文件中包括:
以读取的订单属性值中的唯一键属性值为关键字,遍历所述订单属性值源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单属性值写入所述订单属性值源文件中;
若遍历结果为非空,则将读取的订单属性值更新所述订单属性值源文件,以替换所述订单属性值源文件中的历史订单属性值。
可选的,在本发明第一方面的第五种实现方式中,所述将读取的所述订单数据更新至后端数据库内的订单源文件中包括:
以读取的订单状态为关键字,遍历所述订单状态源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单状态写入所述订单状态源文件中。
可选的,在本发明第一方面的第六种实现方式中,在所述将读取的所述订单数据更新至后端数据库内的订单源文件中之后,还包括:
获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
根据所述报表配置信息,生成对应的空白订单报表;
根据所述订单报表的报表字段及所述统计规则,从所述订单源文件中读取相应的订单数据并写入所述订单报表中。
本发明第二方面提供了一种快件订单更新装置,包括:
获取模块,用于每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成模块,用于生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
读取模块,用于从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
更新模块,用于将读取的所述订单数据更新至后端数据库内的订单源文件中。
可选的,在本发明第二方面的第一种实现方式中,所述生成模块具体用于:
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件中;
当所述csv文件写入操作结束时,生成与所述csv文件对应的标识文件;
将所述csv文件和所述标识文件关联并存入网络附加存储盘中,其中,订单状态与订单属性值分别存入不同的csv文件中。
可选的,在本发明第二方面的第二种实现方式中,所述读取模块具体用于:
判断所述网络附件存储盘中是否存在所述标识文件;
若是,则读取所述标识文件对应的所述csv文件中的订单状态或订单属性值。
可选的,在本发明第二方面的第三种实现方式中,所述更新模块具体用于:
以读取的订单属性值中的唯一键属性值为关键字,遍历所述订单属性值源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单属性值写入所述订单属性值源文件中;
若遍历结果为非空,则将读取的订单属性值更新所述订单属性值源文件,以替换所述订单属性值源文件中的历史订单属性值。
可选的,在本发明第二方面的第四种实现方式中,所述替换单元具体用于:
以读取的订单状态为关键字,遍历所述订单状态源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单状态写入所述订单状态源文件中。
可选的,在本发明第二方面的第五种实现方式中,所述快件订单更新装置还包括报表模块,所述报表模块具体用于:
获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
根据所述报表配置信息,生成对应的空白订单报表;
根据所述订单报表的报表字段及所述统计规则,从所述订单源文件中读取相应的订单数据并写入所述订单报表中。
本发明第三方面提供了一种快件订单更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述快件订单更新设备执行上述的快件订单更新方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的快件订单更新方法。
传统的订单更新是直接将前端数据库中订单数据插入后端数据库中订单源文件的基础上,本发明在原有基础上增加了位于网络附加存储盘上,用于中转的csv文件,以减少直接插入最终存储的订单源文件引起的错误的概率。网络附加存储盘连接在网络上,可以采用集中化网络文件访问机制和共享应对不通的系统限制。在csv文件生成后,还生成了一个用于标识的标识文件,只有当标识文件生成后,才去读取csv文件中的订单数据,避免csv文件还未生成完就被读取,从而减少数据缺失的发生。在对包含订单状态和订单属性值的源文件进行更新时,还会根据订单数据的采集事件来判断该订单数据是否为最新的订单数据,减少错被旧数据覆盖的情况发生。本发明还可灵活配置,动态生成报表以供后续对订单数据分析,以提高报表生成和分析效率。
附图说明
图1为本发明实施例中快件订单更新方法的第一个实施例示意图;
图2为本发明实施例中快件订单更新方法的第二个实施例示意图;
图3为本发明实施例中快件订单更新方法的第三个实施例示意图;
图4为本发明实施例中快件订单更新方法的第四个实施例示意图;
图5为本发明实施例中快件订单更新方法的第五个实施例示意图;
图6为本发明实施例中快件订单更新装置的一个实施例示意图;
图7为本发明实施例中快件订单更新装置的另一个实施例示意图;
图8为本发明实施例中快件订单更新设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种快件订单更新方法、装置、设备及存储介质。统的订单更新是直接将前端数据库中订单数据插入后端数据库中订单源文件的基础上,本发明在原有基础上增加了位于网络附加存储盘上,用于中转的csv文件,以减少直接插入最终存储的订单源文件引起的错误的概率。网络附加存储盘连接在网络上,可以采用集中化网络文件访问机制和共享应对不通的系统限制。在csv文件生成后,还生成了一个用于标识的标识文件,只有当标识文件文件生成后,才去读取csv文件中的订单数据,避免csv文件还未生成完就被读取,从而减少数据缺失的发生。在对包含订单状态和订单属性值的源文件进行更新时,还会根据订单数据的采集事件来判断该订单数据是否为最新的订单数据,减少错被旧数据覆盖的情况发生。本发明还可灵活配置,动态生成报表以供后续对订单数据分析,以提高报表生成和分析效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中快件订单更新方法的一个实施例包括:
101、每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
在本实施例中,前端为包含订单数据的存文件夹、网盘、数据库等。以两种不同的数据库进行说明。
第一种是订单系统,当有用户进行下单后,先对用户进行核对,确定其身份,为a公司。然后针对该订单生成特定的订单编号,订单的编号规则有很多种,这里使用的是命名规则为年月日(8位) 自增长数字的订单号(5位),生成的订单编号为“2010012012345”。同时,根据用户填写的信息,确定付费方式为“月结”。最后,由于是刚生成的订单,生成该订单对应的订单状态,“待发货”。
而第二种是greenplum数据库。greenplum的架构采用了mpp(大规模并行处理)。在mpp系统中,每个smp节点也可以运行自己的操作系统、数据库等。因此greenplum在处理海量数据库方面具有更大的优势,能够快速完成数据库的检索等处理。当订单编号“2010012012345”对应的货物b从仓库发出后,达到转运点c后,可通过扫码或人工录入的方式将该订单信息录入greenplum数据库中,并将其中的订单状态改为“运输中”。
预先设置好获取两个初始数据库的更新时长。由于转运点的订单信息数据录入可能会有特定时间,如积累到100件时,统一进行录入,因此获取greenplum数据库的时间可以较订单系统更为长些。此外,由于订单创建后,可能货物很快就进入发货阶段,因此订单系统的订单信息获取时间间隔要非常短,否则存在greenplum数据库的订单数据被后来的订单系统的信息覆盖,出现更新错误的情况,故而设置前者两个小时获取一次,而后者5分钟获取一次。
102、生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
在本实施例中,预先配置好待生成的csv文件的订单表配置信息。
订单表配置信息可以以配置文件的形式进行保存,如.css文件。订单表配置信息还可包括字段标签和字段标签对应的提取公式。之前的订单信息为“a公司-2010012012345-运输中-月结”,通过import创建一个空白的csv文件,然后导入订单表配置信息中的字段标签和对应的提取公式。
以一条订单数据为“a公司-2010012012345-运输中-月结”为例进行说明。在前端中,订单信息为{“2010012012345”,“a公司”,“月结”,“运输中”}。当前的字段标签为“订单编号”,因此提取公式为^[2]\d{12},遍历当前订单信息的字符串,得到字符串“2010012012345”符合该提取公式,因此将字符串提取出来。提取后,将该字符串写入字段标签对应的位置。通过此方式,最终得到写入了订单数据的csv文件。
以上仅仅是为实施例中的一种优选方式,不存在配置信息时,也可直接或以其他方式将订单数据写入csv文件中。
103、从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
扫描网络附加存储盘,搜索判断是否有待读取的csv文件。若有,则读取csv文件中的订单数据。
104、将读取的所述订单数据更新至后端数据库内的订单源文件中。
将读取的订单数据更新至后端数据库中保存的订单源文件中。其中,最先生成的csv文件可作为订单源文件直接写入后端数据库中。
更新方式有两种,一种是直接写入,一种是将订单数据替换源文件中的订单属性值。先对源文件进行遍历,并根据订单数据中的唯一属性值,判断源文件中是否存在订单属性值的唯一属性值与其一致。若一致,则将订单数据直接写入订单源文件,若不一致,则将将订单数据替换源文件中的订单属性值。
本发明在传统订单更新的基础上增加了位于网络附加存储盘上,用于中转的csv文件,以减少直接插入最终存储的订单源文件引起的错误的概率。此外,网络附加存储盘连接在网络上,可以采用集中化网络文件访问机制和共享应对不通的系统限制。
请参阅图2,本发明实施例中快件订单更新方法的另一个实施例包括:
201、每隔预置订单更新时长,获取前端生成的各快件订单的订单数据,其中,所述订单数据包括订单状态、订单唯一键属性值与订单属性值,不同快件订单通过订单的唯一键属性值进行区分;
将订单数据分为两种类型,一种是订单状态,一种是订单属性值,每一个快件订单都有特定的唯一键属性值,因此在订单文件中以唯一键属性值区分不同的快件订单。
订单状态主要是快件订单当前的运输状态,如“揽件”“运输,到达xxx地”“已签收”。
订单属性值则是快件订单的基本属性,如寄件人,收件人,地址。
202、生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件中,其中,所述订单更新包括订单状态更新与订单属性值更新,订单状态与订单属性值分别存入不同的csv文件中;
在本实施例中,预先配置好待生成的csv文件的订单表配置信息。
通过import创建一个空白的csv文件,然后导入订单表配置信息中的字段标签和对应的提取公式。
以一条订单数据为“a公司-2010012012345-运输中-月结”为例进行说明。依照生成顺序,遍历前端中的订单数据。当前读取到的订单信息为{“2010012012345”,“a公司”,“月结”,“运输中”},字段标签为“订单编号”,对应的提取公式为^[2]\d{12}。使用提取公式提取到字符串“2010012012345”,并将该字符串写入字段标签对应的位置。通过此方式,最终得到写入了订单数据的csv文件。
为便于后续分别对订单状态源文件和订单属性值源文件进行更新,将csv文件分为两种,其中,订单状态和订单属性值分在不同的csv文件中,而唯一订单属性值在两个csv文件中都存在。
203、当所述csv文件写入操作结束时,生成与所述csv文件对应的标识文件;
在本实施例中,采用flg文件作为标识文件。flg文件一种普及性较低的文件,在大多数文件中都很少出现该文件,使用该文件作为标识文件的目的,也是由于该文件较少使用,从而减少被其它软件调用或修改的可能,以提高标识的准确性。
204、将所述csv文件和所述标识文件关联并存入网络附加存储盘中,;
将生成的csv文件和其对应的flg文件储存在网络附加存储盘中。
为便于根据flg文件判断对应的csv文件是否产生,可将flg文件与csv文件采用同一种名称。也可采用将csv文件的相关信息写入flg文件中,以对两者进行关联。
205、判断所述网络附件存储盘中是否存在所述标识文件;
对flg文件所在的文件夹或网络附加盘进行搜索,以判断是否有flg文件生成。
206、若是,则读取所述标识文件对应的所述csv文件中的订单状态或订单属性值;
flg文件的文件名为“20100120xxx”,然后根据flg文件的文件名确定csv文件的文件名“20100120xxx”,并搜索到对应的csv文件,最后对该文件进行读取。
207、将读取的所述订单数据更新至后端数据库内的订单源文件中。
在本实施例中,在csv文件生成后,还生成了一个用于标识的flg,只有当flg文件生成后,才去读取csv文件中的订单数据,避免csv文件还未生成完就被读取,从而减少数据缺失的发生。
请参阅图3,本发明实施例中快件订单更新方法的第二个实施例包括:
301、每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
302、生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
303、从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
304、以读取的订单属性值中的唯一键属性值为关键字,遍历所述订单属性值源文件,输出各快件订单对应的遍历结果;
在本实施例中,唯一属性值为订单编号。
根据flg文件确定了待读取的csv文件之后,从字段标签“订单编号”对应的csv文件中依次抽取订单信息。第一个订单编号为“2010012012345”,因此在源文件中,根据“2010012012345”,判断是否存在订单编号相同的订单属性值。
305、若所述遍历结果为空,则将读取的订单属性值写入所述订单属性值源文件中;
若遍历结果为空,则认为该订单数据未出现在源文件中,因此将对应的所述订单数据写入订单源文件中;
货物b未发出时,csv文件中订单数据为[“a公司”,“2010012012345”,“月结”]。由于该订单是刚刚创建,因此第二数据表中未有其记录。
直接将订单数据[“a公司”,“2010012012345”,““月结”]写入源文件中,即可完成数据的准确更新。
306、若遍历结果为非空,则将读取的订单属性值更新所述订单属性值源文件,以替换所述订单属性值源文件中的历史订单属性值;
例如用户在货物运输过程中要求修改付款方式,当货物到达转运点c后,读取的csv文件中订单数据为[“a公司”,“2010012012345”,“到付”]。由于该订单在未发出时已经创建,因此在订单属性值源文件中存在订单编号相同的订单属性值。
通过唯一属性值,发现搜索结果为1后,将订单数据中的订单属性值写入至源文件中,同时删除源文件中的历史订单属性值,从而完成该订单编号的更新。
本实施例具体描述了对订单属性值源文件的更新。将订单状态和订单的属性值进行分割来,减少了订单重复修改的次数。以往对某订单进行修改,需要对订单的所有数据进行修改,如对订单状态进行修改,但会将所有的快件订单全部替换,在这过程,可能部分订单快件的属性值丢失、修改,与之前存在差异。因此通过此方式,提高了快件订单源文件更新的准确性。
请参阅图4,本发明实施例中快件订单更新方法的第四个实施例包括:
401、每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
402、生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
403、从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
404、以订单状态为关键字,遍历所述订单状态源文件,输出各快件订单对应的遍历结果;
在本实施例中,订单状态源文件优选存在订单的唯一键属性值和对应的订单状态。唯一键属性值可作为订单状态和快件订单进行关联的依据,可以以采用映射函数的方式,将两者进行关联,在此不作限定,只需能够实现将订单状态和各个订单关联即可。
以读取的订单状态为关键字,对订单状态源文件进行遍历和检索。由于每个快件订单都有着自己的唯一键属性值,因此针对将唯一键属性值相同的快件
并输出各个快件订单对应的遍历结果。
405、若所述遍历结果为空,则将读取的订单状态写入所述订单状态源文件中;
在本实施例中,读取的订单状态为“已签收”,而在订单源文件中,唯一键属性值,在本实施例中为订单编号,为“2010012012345”的快件订单并没有订单状态为“已签收”的数据。
因此将该订单状态“已签收”和对应的“2010012012345”一起写入订单状态源文件中。
若遍历结果为非空,“2010012012345”的快件订单有订单状态为“已签收”的数据,则不再对订单状态源文件进行更新。
在本实施例中,以订单状态为关键字,检索同一个订单快件是否有对应的订单状态,若无,则将订单状态写入该源文件中。因此,在订单状态源文件中,能够详细列出每一快件订单的状态变化。在订单状态源文件中还可加入对应的时间,从而对快件订单做一个动态的订单状态记录。
请参阅图5,本发明实施例中快件订单更新方法的第五个实施例包括:
501、每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
502、生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
503、从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
504、将读取的所述订单数据更新至后端数据库内的订单源文件中;
505、获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
506、获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
与创建csv文件类似,预先设置好报表的配置信息。
报表字段是用于确定源文件中哪些数据是报表所需要的。若报表字段对应着“公司名称”,则源文件中订单属性值对应“公司名称”的数据为报表所需。而报表字段值的统计规则主要用于对字段值的统计。如字段对应着“a公司”有两条数据,“b公司”有一条数据,则将“a公司”的字段值为2,“b公司”的字段值为1。
配置信息可以文件、模板等形式进行保存。
507、根据所述报表配置信息,生成对应的空白订单报表;
创建一个空白报表,并在此基础上加载这些配置信息,从而生成初始报表。根据配置信息,在初始报表中出现报表字段标签。
508、根据所述订单报表的报表字段及所述统计规则,从所述订单源文件中读取相应的订单数据并写入所述订单报表中。
统计规则可为统计出现次数大于5的公司名称和出现次数,并以这些公司名称和出现次数绘制图形等等。
通过报表字段和统计规则,可从订单源文件中获取需要的订单数据,并生成对应的订单报表,从而便于后续对近期高频率下订单的用户进行资源调整,以提高工作效率。
本实施例提供了一种基于订单源文件的报表生成方法。源文件只是所有订单的一个汇总,当需要生成对应的报表,还需要对其中信息数据进行一定的提取,以根据源文件灵活快捷地生成报表。
上面对本发明实施例中快件订单更新方法进行了描述,下面对本发明实施例中快件订单更新装置进行描述,请参阅图6,本发明实施例中快件订单更新装置一个实施例包括:
获取模块601,用于每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成模块602,用于生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
读取模块603,用于从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
更新模块604,用于将读取的所述订单数据更新至后端数据库内的订单源文件中。
传统的订单更新是直接将前端数据库中订单数据插入后端数据库中订单源文件的基础上,本发明在原有基础上增加了位于网络附加存储盘上,用于中转的csv文件,以减少直接插入最终存储的订单源文件引起的错误的概率。网络附加存储盘连接在网络上,可以采用集中化网络文件访问机制和共享应对不通的系统限制。
请参阅图7,本发明实施例中快件订单更新装置的另一个实施例包括:
获取模块701,用于每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成模块702,用于生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
读取模块703,用于从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
更新模块704,用于将读取的所述订单数据更新至后端数据库内的订单源文件中。
可选的,所述生成模块702具体用于:
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件中;
当所述csv文件写入操作结束时,生成与所述csv文件对应的标识文件;
将所述csv文件和所述标识文件关联并存入网络附加存储盘中,其中,订单状态与订单属性值分别存入不同的csv文件中。
可选的所述读取模块703具体用于:
判断所述网络附件存储盘中是否存在所述标识文件;
若是,则读取所述标识文件对应的所述csv文件中的订单状态或订单属性值。
可选的,所述更新模块704包括属性值更新单元7041和状态更新单元7042,所述属性值更新单元具体用于:
以读取的唯一键属性值为关键字,遍历所述订单属性值源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单属性值写入所述订单属性值源文件中;
若遍历结果为非空,则将读取的订单属性值更新所述订单属性值源文件,以替换所述订单属性值源文件中的历史订单属性值。
可选的,所述状态更新单元7042具体用于:
以读取的订单状态为关键字,遍历所述订单状态源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单状态写入所述订单状态源文件中。
可选的,所述,所述快件订单更新装置还包括报表模块705,所述报表模块705具体用于:
获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
根据所述报表配置信息,生成对应的空白订单报表;
根据所述订单报表的报表字段及所述统计规则,从所述订单源文件中读取相应的订单数据并写入所述订单报表中。
在本实施例中,csv文件生成后,还生成了一个用于标识的标识文件,只有当标识文件生成后,才去读取csv文件中的订单数据,避免csv文件还未生成完就被读取,从而减少数据缺失的发生。并且将订单更新分为订单属性值更新和订单状态更新两种形式,以唯一键属性值进行关联。订单属性值更新可直接显示当前快件订单的基本属性,而订单状态源文件可显示当前快件订单的物流状态,将订单数据分两部分写入,分担重复写入的压力,也减少了发生错误的可能。
上面图6和图7从模块化功能实体的角度对本发明实施例中的快件订单更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中快件订单更新设备进行详细描述。
图8是本发明实施例提供的一种快件订单更新设备的结构示意图,该快件订单更新设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对快件订单更新设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在快件订单更新设备500上执行存储介质830中的一系列指令操作。
快件订单更新设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口870,和/或,一个或一个以上操作系统831,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的快件订单更新设备结构并不构成对快件订单更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述快件订单更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种快件订单更新方法,其特征在于,所述快件订单更新方法包括:
每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
将读取的所述订单数据更新至后端数据库内的订单源文件中。
2.根据权利要求1所述的快件订单更新方法,其特征在于,所述订单数据包括:订单状态与订单属性值,不同快件订单通过订单的唯一键属性值进行区分,所述订单更新包括:订单状态更新与订单属性值更新,所述订单源文件包括:订单状态源文件与订单属性值源文件。
3.根据权利要求2所述的快件订单更新方法,其特征在于,所述生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中包括:
生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件中;
当所述csv文件写入操作结束时,生成与所述csv文件对应的标识文件;
将所述csv文件和所述标识文件关联并存入网络附加存储盘中,其中,所述订单状态与所述订单属性值分别存入不同的csv文件中。
4.根据权利要求3所述的快件订单更新方法,其特征在于,所述从所述网络附加存储盘中,读取所述csv文件中的所述订单数据包括:
判断所述网络附件存储盘中是否存在所述标识文件;
若是,则读取所述标识文件对应的所述csv文件中的订单状态或订单属性值。
5.根据权利要求4所述的快件订单更新方法,其特征在于,所述将读取的所述订单数据更新至后端数据库内的订单源文件中包括:
以读取的订单属性值中的唯一键属性值为关键字,遍历所述订单属性值源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单属性值写入所述订单属性值源文件中;
若遍历结果为非空,则将读取的订单属性值更新所述订单属性值源文件,以替换所述订单属性值源文件中的历史订单属性值。
6.根据权利要求4所述的快件订单更新方法,其特征在于,所述将读取的所述订单数据更新至后端数据库内的订单源文件中包括:
以读取的订单状态为关键字,遍历所述订单状态源文件,输出各快件订单对应的遍历结果;
若所述遍历结果为空,则将读取的订单状态写入所述订单状态源文件中。
7.根据权利要求1-6中任一项所述的快件订单更新方法,其特征在于,在所述将读取的所述订单数据更新至后端数据库内的订单源文件中之后,还包括:
获取报表配置信息,所述报表配置信息包括报表字段以及报表字段值的统计规则;
根据所述报表配置信息,生成对应的空白订单报表;
根据所述订单报表的报表字段及所述统计规则,从所述订单源文件中读取相应的订单数据并写入所述订单报表中。
8.一种快件订单更新装置,其特征在于,所述快件订单更新装置包括:
获取模块,用于每隔预置订单更新时长,获取前端生成的各快件订单的订单数据;
生成模块,用于生成本次订单更新对应的空白csv文件,并按照各快件订单的生成顺序将所述订单数据写入所述csv文件后存入网络附加存储盘中;
读取模块,从所述网络附加存储盘中,读取所述csv文件中的所述订单数据;
更新模块,用于将将读取的所述订单数据更新至后端数据库内的订单源文件中。
9.一种快件订单更新设备,其特征在于,所述快件订单更新设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述快件订单更新设备执行如权利要求1-7中任一项所述的快件订单更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的快件订单更新方法。
技术总结