一种数据传输方法和装置制造方法及图纸

技术编号:24573165 阅读:21 留言:0更新日期:2020-06-21 00:00
本发明专利技术公开了一种数据传输方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:分别接收以分页传输方式传输的订单报文和订单打包报文;其中,所述订单打包报文包括订单包裹报文和/或订单箱报文;根据所述订单报文和订单打包报文,分别组装订单数据对象和订单打包数据对象;其中,所述订单打包数据对象包括订单包裹数据对象和/或订单箱数据对象;将所述订单数据对象和订单打包数据对象保存到数据库中。该实施方式能够解决由于大批量数据传输而造成内存不能释放的技术问题。

A data transmission method and device

【技术实现步骤摘要】
一种数据传输方法和装置
本专利技术涉及计算机
,尤其涉及一种数据传输方法和装置。
技术介绍
现今的跨系统、跨应用的数据传输中,大量使用了MQ(消息队列)的异步传输方式,这种传输方式需要上下游根据业务需求事先定义好传输报文,生产者开发时按照报文格式组装数据和发送报文,以进行数据传输,消费者也按照报文格式解析报文,以进行后续业务处理。如库房回传发货数据明细时,一个订单会回传大量的数据字段,例如:订单主档、订单明细、打包的包裹数据、打包的箱数据、耗材信息等,需要将这些数据进行组合、拼装保存到数据库中。可以看出,在进行订单发货数据传输时,现有报文是一个大报文,所有字段都放在其中,通过一个MQ进行传输。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:对于目前这种数据传输方式,数据量中、小时不会对系统性能造成影响,但当数据量增大时,报文也会增大,造成几兆到几十兆的报文传输。系统为了处理这些大数据量的报文,必然会产生大的数据对象,并且这种对象会一直处于内存中,在数据保存处理时,会造成内存不能释放,CPU使用率居本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,包括:/n分别接收以分页传输方式传输的订单报文和订单打包报文;其中,所述订单打包报文包括订单包裹报文和/或订单箱报文;/n根据所述订单报文和订单打包报文,分别组装订单数据对象和订单打包数据对象;其中,所述订单打包数据对象包括订单包裹数据对象和/或订单箱数据对象;/n将所述订单数据对象和订单打包数据对象保存到数据库中。/n

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:
分别接收以分页传输方式传输的订单报文和订单打包报文;其中,所述订单打包报文包括订单包裹报文和/或订单箱报文;
根据所述订单报文和订单打包报文,分别组装订单数据对象和订单打包数据对象;其中,所述订单打包数据对象包括订单包裹数据对象和/或订单箱数据对象;
将所述订单数据对象和订单打包数据对象保存到数据库中。


2.根据权利要求1所述的方法,其特征在于,所述订单报文包括订单号、订单类型、当前页码和总页数;所述订单包裹报文包括订单号、包裹类型、当前页码和总页数;所述订单箱报文包括订单号、箱类型、当前页码和总页数。


3.根据权利要求2所述的方法,其特征在于,根据所述订单报文和订单打包报文,分别组装订单数据对象和订单打包数据对象之前,还包括:
根据已接收到的订单报文和订单打包报文,分别生成key和value,并存储在缓存中;其中,所述key包括订单号、报文类型、当前页码和总页数,所述value为所述订单报文或者订单打包报文的接收时间,所述报文类型为订单类型、包裹类型和箱类型中的一种。


4.根据权利要求2所述的方法,其特征在于,根据所述订单报文和订单打包报文,分别组装订单数据对象和订单打包数据对象,包括:
根据所述订单报文和订单打包报文分别生成key;
比对所述key与缓存中已存储的key是否相同;若否,则将所述订单报文组装订单数据对象,以及将所述订单打包报文组装成订单打包数据对象,并将所述key及其对应的value存储到缓存中;若是,则结束。


5.根据权利要求2所述的方法,其特征在于,将所述订单数据对象和订单打包数据对象保存到数据库中之后,还包括:
将所述订单报文和订单打包报文的报文类型、页数数据和删除状态写入任务表中;
扫描所述任务表中删除状态为未删除的数据记录;
针对每个报文类型,若所述任务表中该报文类型的页数数据之和与该报文类型的总页数相同,则将所述任务表中该报文类型的数据记录全部删除。


6.根据权利要求5所述的方法,其特征在于,将所述订单报文和订单打包报文的报文类型、页数数据和删除状态写入任务表中之后,还包括:
每隔一段时间扫描所述任务表中删除状态为未删除的数据记录;
针对每个报文类型,若所述任务表中该报文类型的页数数据之和少于该报文类型的总页数相,则发出数据拉取请求,所述数据拉取请求携带报文类型以及该报文类型对应的缺失的页数数据。


7.一种数据传输装置,其特征在于,包括:
接收模块,用于分别接收以分页传输方式传输的订单报文和订单打包报文;其中,所述订单打包报文包括订单包裹报文和/或订单箱报文;
组装模块,用于...

【专利技术属性】
技术研发人员:杨凡
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1