CN107679822A - Erp***中订单状态自动更新方法、存储介质和计算机设备 - Google Patents

Erp***中订单状态自动更新方法、存储介质和计算机设备 Download PDF

Info

Publication number
CN107679822A
CN107679822A CN201710787543.6A CN201710787543A CN107679822A CN 107679822 A CN107679822 A CN 107679822A CN 201710787543 A CN201710787543 A CN 201710787543A CN 107679822 A CN107679822 A CN 107679822A
Authority
CN
China
Prior art keywords
order data
order
uploaded
server
upload
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.)
Granted
Application number
CN201710787543.6A
Other languages
English (en)
Other versions
CN107679822B (zh
Inventor
范绍斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jindi Butterfly Gold Cloud Computing Co Ltd
Original Assignee
Jindi Butterfly Gold Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jindi Butterfly Gold Cloud Computing Co Ltd filed Critical Jindi Butterfly Gold Cloud Computing Co Ltd
Priority to CN201710787543.6A priority Critical patent/CN107679822B/zh
Publication of CN107679822A publication Critical patent/CN107679822A/zh
Application granted granted Critical
Publication of CN107679822B publication Critical patent/CN107679822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种ERP***中订单状态自动更新方法、装置、存储介质和计算机设备。获取待上传的订单数据,将待上传的订单数据分批。启动任务队列,将分批后的订单数据按照批次***任务队列中,不需要一单一单的将订单数据进行上传,降低了网络耗能,提高了效率。将任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使服务器将订单数据上传至第三方平台。采用多线程的方式将任务队列中一批一批的订单数据进行批量上传,减少了网络传输、提高了硬件资源的利用率。通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。从而用户可以通过ERP***就可以实时查询订单状态。

Description

ERP***中订单状态自动更新方法、存储介质和计算机设备
技术领域
本发明涉及计算机技术领域,特别是涉及一种ERP***中订单状态自动更新方法、存储介质和计算机设备。
背景技术
目前ERP(EnterpriseResourcePlanning,企业资源计划)***包含了财务、供应链和制造等多种业务功能。每种业务功能都有大量的数据需要进行处理。例如,传统的电商交易中,买家在电商平台下了订单,然后卖家把订单下载到ERP客户端中进行订单处理,ERP客户端再将处理后的订单一单一单地上传至电商平台。传统方式一次只能完成一个订单的上传,显然这样的方式效率太低,在电商大促活动期间,突然激增的大量订单,仅仅依靠一单一单地去上传订单信息根本不能满足客户的需求。
发明内容
基于此,有必要针对上述技术问题,提供一种ERP***中订单状态自动更新方法、装置、存储介质和计算机设备。
一种ERP***中订单状态自动更新方法,所述方法包括:
获取待上传的订单数据;
将所述待上传的订单数据分批;
启动任务队列,将分批后的订单数据按照批次***任务队列中;
将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
在其中一个实施例中,所述获取待上传的订单数据,包括:
在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据;
在第一预设时间段后,根据预设筛选条件对所述第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据;
重复进行在下一个第一预设时间段后,根据预设筛选条件对所述预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至所述第二预设时间段内的所有上传结果为失败的订单数据进行上传。
在其中一个实施例中,所述将所述待上传的订单数据分批,包括:
将所述待上传的订单数据按照预设数量阈值进行分批。
在其中一个实施例中,所述通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新,包括:
通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
一种ERP***,所述***包括:客户端及服务器:
所述客户端,用于获取待上传的订单数据;将所述待上传的订单数据分批;启动任务队列,将分批后的订单数据按照批次***任务队列中;将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器;通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对所述客户端中的订单状态进行自动更新。
所述服务器,用于接收客户端上传的订单数据,并将所述订单数据采用多线程方式进行批量上传至第三方平台;从第三方平台获取所述订单数据的上传结果,将所述上传结果转发至所述客户端。
在其中一个实施例中,所述客户端还用于通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
一种ERP***中订单状态自动更新装置,所述装置包括:
待上传订单数据获取模块,用于获取待上传的订单数据;
分批模块,用于将所述待上传的订单数据分批;
任务队列***模块,用于启动任务队列,将分批后的订单数据按照批次***任务队列中;
多线程模块,用于将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
自动更新模块,用于通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
在其中一个实施例中,所述自动更新模块还用于通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待上传的订单数据;
将所述待上传的订单数据分批;
启动任务队列,将分批后的订单数据按照批次***任务队列中;
将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待上传的订单数据;
将所述待上传的订单数据分批;
启动任务队列,将分批后的订单数据按照批次***任务队列中;
将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
上述ERP***中订单状态自动更新方法、装置、存储介质和计算机设备,获取待上传的订单数据,将待上传的订单数据分批。然后启动任务队列,将分批后的订单数据按照批次***任务队列中。不需要一单一单的将订单数据进行上传,降低了网络耗能,提高了效率。再将任务队列中的订单数据采用多线程方式进行批量上传至服务器,服务器再将订单数据上传至第三方平台。采用多线程的方式将任务队列中一批一批的订单数据进行批量上传,减少了网络传输、提高了硬件资源的利用率。最后,通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。不需要人工去主动获取,这样就降低了人力成本。从而用户可以通过ERP***就可以实时查询订单状态。
附图说明
图1为一个实施例中ERP***中订单状态自动更新方法的应用环境图;
图2为一个实施例中服务器的内部结构图;
图3为一个实施例中ERP***中订单状态自动更新方法的流程图;
图4为图3中获取待上传订单数据方法的流程图;
图5为ERP***与第三方平台交互的示意图;
图6为一个实施例中ERP***中订单状态自动更新装置的结构示意图;
图7为图6中待上传订单数据获取模块的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本发明实施例提供的ERP***中订单状态自动更新方法可应用于如图1所示的环境中。参考图1所示,终端110上运行了ERP***客户端,服务器120为ERP***服务器,终端130上运行了第三方平台。终端110、服务器120及终端130直接通过网络连接。例如,第三方平台可以是第三方电子商务平台,淘宝网、京东、苏宁、国美等进行电子商务交易的网站。当然,还包括其他的进行电子商务交易的网站。
在一个实施例中,如图2所示,还提供了一种服务器,该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器、网络接口,非易失性存储介质中存储有操作***和一种ERP***中订单状态自动更新装置,该ERP***中订单状态自动更新装置用于执行一种ERP***中订单状态自动更新方法。该处理器用于提高计算和控制能力,支撑整个服务器的运行。内存储器用于为非易失性存储介质中的ERP***中订单状态自动更新装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得该处理器执行一种ERP***中订单状态自动更新方法。网络接口用于与第三方平台进行网络通信,例如向第三方平台发送订单数据或者接收第三方平台返回的订单上传状态数据等。
在一个实施例中,如图3所示,提供了一种ERP***中订单状态自动更新方法,以该方法应用于图1中上运行于终端110上的ERP***客户端为例进行说明,包括:
步骤310,获取待上传的订单数据。
当买家在电商平台下了订单,卖家在ERP***客户端将订单下载下来进行订单处理。具体为,ERP***客户端可以调用与电商平台的通信接口,从而获取到订单数据并对订单数据进行处理。例如,处理可以是为买家下的订单加上物流信息等。待上传的订单数据为进行了相应处理,并根据预设筛选条件进行了筛选之后所得的订单数据。同一张订单一般设定了3次上传机会,以保证每一个订单最大限度进行上传,当然,也可以设置其他数量的上传机会。
步骤320,将待上传的订单数据分批。
具体为,ERP***客户端对处理后的订单数据进行筛选,将本次筛选出来的待上传的订单数据按照预设数量阈值进行分批。
步骤330,启动任务队列,将分批后的订单数据按照批次***任务队列中。
客户端启动任务队列,将按照预设数量阈值进行分批后所得的订单数据按照批次***任务队列中,即分在一个批次的订单数据为一个任务。一批一批的订单数据就对应一个一个的任务,将这些任务依次***任务队列中。
步骤340,将任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使服务器将订单数据上传至第三方平台。
客户端按照设定好的线程数开启多个线程来同时执行多个任务,将任务队列中的任务批量上传至服务器。然后服务器在将每个任务中的订单数据上传至第三方平台。
步骤350,通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。
当服务器在将每个任务中的订单数据上传至第三方平台之后,则就表示订单数据(物流信息)上传成功了,上传结果就为成功,上传成功后第三方平台将订单状态从已下单更改为已发货。若服务器在将每个任务中的订单数据上传至第三方平台的过程中失败了,即第三方平台未接收到订单数据,则就表示订单数据上传失败了,上传结果就为失败。第三方平台在更新了上传结果后,服务器从第三方平台处获取到上传结果,再将上传结果发送至客户端。然后根据上传结果对ERP***客户端中的订单状态进行自动更新,即把订单上传结果为成功还是失败反写到订单业务表中去。自动进行更新,不需要人工去主动获取,这样就降低了人力成本。可以设置一些条件触发自动更新,例如设定间隔特定的时间。ERP***客户端上的订单业务表统计了关于每一个订单的各种详细信息。ERP***客户端的用户即卖家就可以在订单业务表中进行实时查询每一个订单的最新上传状态。
本实施例中,获取待上传的订单数据,将待上传的订单数据分批。然后启动任务队列,将分批后的订单数据按照批次***任务队列中。不需要一单一单的将订单数据进行上传,降低了网络耗能,提高了效率。再将任务队列中的订单数据采用多线程方式进行批量上传至服务器,服务器再将订单数据上传至第三方平台。采用多线程的方式将任务队列中一批一批的订单数据进行批量上传,减少了网络传输、提高了硬件资源的利用率。最后,通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。不需要人工去主动获取,这样就降低了人力成本。从而用户可以通过ERP***就可以实时查询订单状态。
在一个实施例中,如图4所示,获取待上传的订单数据,包括:
步骤312,在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据。
当买家在电商平台下了订单,卖家在ERP***客户端将订单下载下来进行订单处理。为ERP***设置一个时间原点,在该时间原点对经过处理后的所有订单进行根据预设筛选条件进行筛选。具体的,时间原点可以是0分钟时候,筛选条件可以是已配货且未上传的订单、已拣货(一般指经过了***的拣货校验)且未上传的订单、已称重且未上传的订单、已发货(一般指已生成销售出库单)且未上传的订单等等。上述条件必须满足一个前提就是:该订单已经打印了物流单,也就是说没有打印过物流单的订单在***中是不会自动上传的。将满足筛选条件的订单数据作为第一批待上传的订单数据进行上传服务器。
步骤314,在第一预设时间段后,根据预设筛选条件对第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据。
具体的,第一预设时间段可以是5分钟,或者10分钟,当然,也可以设置为其他数值。例如,本发明实施例中取第一预设时间段为5分钟,在距离时间原点5分钟之后,首先获取这个第一预设时间段5分钟内新生成的订单数据,对这些订单数据进行处理(例如添加物流信息)并根据筛选条件进行筛选,再获取第一次上传失败的订单数据。将本次筛选出的订单数据和第一次上传失败的订单数据一起构成第二批待上传的订单数据,对这些第二批待上传的订单数据进行上传。具体的,获取第一次上传失败的订单数据是通过查询ERP***客户端上的订单业务表得到的。
步骤316,重复进行在下一个第一预设时间段后,根据预设筛选条件对预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至第二预设时间段内的所有上传结果为失败的订单数据进行上传。
在进行第二次上传之后,每隔一个第一预设时间段就对这个第一预设时间段时间段内筛选出的订单数据进行上传。具体为,在第10分钟时候,首先获取这个第一预设时间段5分钟-10分钟之间新生成的订单数据,对这些订单数据进行处理(例如添加物流信息),再获取第二次上传失败的订单数据。将本次筛选出的订单数据和第二次上传失败的订单数据一起构成第三批待上传的订单数据,对这些第三批待上传的订单数据进行上传。具体的,获取第二次上传失败的订单数据是通过查询ERP***客户端上的订单业务表得到的。如此一直进行上传操作,每隔一个第一预设时间段就对这个第一预设时间段时间段内筛选出的订单数据进行上传,直到达到第二预设时间段。在达到第二预设时间段的时刻,则获取从时间原点至第二预设时间段内的所有上传结果为失败的订单数据,这其中当然也包括在第二预设时间段这个时刻上传失败的订单。在第二预设时间段这个时刻对这些上传失败的订单统一进行上传。所以,对每一个筛选出的满足条件的订单,都有3次上传机会。若3次都未上传成功则说明这个订单可能存在一些问题,需要反馈给卖家,让卖家去处理。
具体的,第二预设时间段在本发明实施例中可以是双数整点即2小时、4小时、6小时以此类推这种时刻。当然,也可以设置为其他时刻。例如,时间原点为0分钟,则每隔5分钟进行一次订单数据上传,当到2小时时候,先进行本次上传。然后将从0分钟至2小时(包括2小时)之间所有上传失败的订单统一集中起来进行上传。
在本实施例中,对每一个筛选出的满足条件的订单,都有3次上传机会,这样基本可以保证不会遗漏任何符合筛选条件的订单数据。3次上传机会分别为,在时间原点首次筛选到订单的时候,在紧邻的下一次上传时获取前一次上传失败的订单进行再次上传,第三次为在达到一个较长的第二预设时间段时候,统一对从时间原点至第二预设时间段内的所有上传失败的订单进行上传。若3次都未上传成功则说明这个订单可能存在一些问题,需要反馈给卖家,让卖家去处理。
在一个实施例中,将待上传的订单数据分批,包括:将待上传的订单数据按照预设数量阈值进行分批。
在本实施例中,将本次筛选出的所有符合条件的订单数据作为本次的待上传的订单数据。将这些待上传的订单数据按照预设数量阈值进行分批。预设数量阈值可以根据网络情况等相应进行设置。具体的,一批可以设置为100张订单,当然,也可以设置为其他数值。例如,如本次待上传的订单数据为1000张,则按照100张一批进行分批,分成10批。一批一批的订单数据就对应一个一个的任务,将这些任务依次***任务队列中。
在一个实施例中,通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新,包括:通过服务器从第三方平台获取订单数据的上传结果,根据上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,订单状态扩展表为预先对订单业务表进行数据库垂直分区所获得的表格。
在ERP***的客户端将订单信息上传至ERP***的服务器上,然后服务器再上传至第三方平台之后,则上传结果就为成功,否则为失败。ERP***的客户端通过服务器间接从第三方平台获得上传结果。然后根据最新的上传结果对ERP***的客户端上的订单状态扩展表上的订单状态进行自动更新。ERP***的客户端上的订单业务表统计了关于每一个订单的各种详细信息。ERP***客户端的用户即卖家就可以在订单业务表中进行实时查询每一个订单的最新上传状态。ERP中的订单业务表设计得很冗余,订单业务表上的字段甚至可能有100多个字段,如果客户的订单数据量比较庞大,那么在将从第三方平台上获取得上传状态反写至订单业务表的时候经常会出现数据库死锁,导致反写失败,最终导致客户的业务出现异常。如果经常发生这样的异常,就会被投诉,且严重的话就可能导致客户流失。所以,采用数据库垂直分区方法预先对订单业务表进行垂直分区,具体为可以按照业务场景把相关的字段分离出来,独立形成一个相对于主表而言的扩展表,例如,订单状态扩展表,专门用于记录订单是否成功上传至第三方平台的表格;物流信息扩展表,专门用于记录订单的物流信息。这些分离出来的扩展表与订单业务表是相互关联的,通过主键与订单业务表进行关联。
这样多个用户同时对订单业务表中同一个订单分别进行操作时,传统方法是,第一个用户在订单业务表中对该订单进行操作期间,就获得了这个订单的锁,所以其他人无法同时对该订单进行操作。只能等待该用户完成操作之后,其他用户获得了这个锁才能对该订单进行操作。在进行了垂直分区之后,就可以实现多人可以同时对同一张订单进行操作,具体为,只需要分别在这个订单相应的扩展表中进行操作即可,而不需要所有用户都调用订单业务表进行操作,这样就不会造成数据库死锁。例如,修改订单上传状态的用户只需要在订单状态扩展表进行操作,修改物流信息的用户只需要在物流信息扩展表中进行操作即可,互相之间不影响。因为分离出来的扩展表与订单业务表是相关联的,所以用户通过订单业务表查询物流信息或订单状态,都可以实时获得。
在本实施例中,采用数据库垂直分区方法预先对订单业务表进行垂直分区,这样就可以实现多人可以同时对同一张订单进行操作,具体为,只需要分别在这个订单相应的扩展表中进行操作即可,而不需要所有用户都调用订单业务表进行操作,这样就不会造成数据库死锁。因为分离出来的扩展表与订单业务表是相关联的,所以用户通过订单业务表查询物流信息或订单状态,都可以实时获得。
在一个实施例中,还提供了一种ERP***中订单状态自动更新方法,方法包括:服务器接收客户端上传的订单数据,并将订单数据采用多线程方式进行批量上传至第三方平台。
在本实施例中,ERP服务器从ERP客户端上接收了订单数据后,将订单数据采用多线程方式进行批量上传至第三方平台。具体为,可以同时开多个线程,然后同时对这些订单数据进行上传。减少了网络传输、提高了硬件资源的利用率。
在一个实施例中,提供了一种ERP***,该方法以应用于如图1所示的环境中进行举例说明。如图5所示,ERP***包括:客户端510及服务器520:
客户端510,用于获取待上传的订单数据;将待上传的订单数据分批;启动任务队列,将分批后的订单数据按照批次***任务队列中;将任务队列中的订单数据采用多线程方式进行批量上传至服务器;通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对客户端中的订单状态进行自动更新。
服务器520,用于接收客户端上传的订单数据,并将订单数据采用多线程方式进行批量上传至第三方平台;从第三方平台获取订单数据的上传结果,将上传结果转发至客户端。
图5中描述了从ERP客户端到ERP服务端再到电商平台的上传逻辑。在客户端主要是利用多线程来同时执行多个分配好的上传任务,每个上传任务最多有100张订单,这些订单会打包一次过传送到服务端,节省客户端和服务端来回传送的网络成本,而在服务端重新按平台组织报文之后也是利用多线程来调用电商平台接口进行上传。待上传成功后,第三方平台将上传结果反馈给ERP服务器,ERP服务器再反馈给ERP客户端。ERP客户端接收上传结果并解析报文,将上传结果进行反写至ERP客户端上的数据库中。
在本实施例中,ERP***客户端可以调用与电商平台的通信接口,从而获取到订单数据并对订单数据进行处理。对处理后的订单数据进行筛选,将本次筛选出来的待上传的订单数据按照预设数量阈值进行分批。启动任务队列,将按照预设数量阈值进行分批后所得的订单数据按照批次***任务队列中,即分在一个批次的订单数据为一个任务。一批一批的订单数据就对应一个一个的任务,将这些任务依次***任务队列中。按照设定好的线程数开启多个线程来同时执行多个任务,将任务队列中的任务批量上传至服务器。然后服务器在将每个任务中的订单数据上传至第三方平台。
当服务器在将每个任务中的订单数据上传至第三方平台之后,则就表示订单数据(物流信息)上传成功了,上传结果就为成功,上传成功后第三方平台将订单状态从已下单更改为已发货。若服务器在将每个任务中的订单数据上传至第三方平台的过程中失败了,即第三方平台未接收到订单数据,则就表示订单数据上传失败了,上传结果就为失败。然后根据上传结果对ERP***客户端中的订单状态进行自动更新,即把订单上传结果为成功还是失败反写到订单业务表中去。自动进行更新,不需要人工去主动获取,这样就降低了人力成本。
在一个实施例中,客户端510还用于通过服务器520从第三方平台获取订单数据的上传结果,根据上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,订单状态扩展表为预先对订单业务表进行数据库垂直分区所获得的表格。
在本实施例中,采用数据库垂直分区方法预先对订单业务表进行垂直分区,这样就可以实现多人可以同时对同一张订单进行操作,具体为,只需要分别在这个订单相应的扩展表中进行操作即可,而不需要所有用户都调用订单业务表进行操作,这样就不会造成数据库死锁。
在一个实施例中,如图6所示,还提供了一种ERP***中订单状态自动更新装置600,该装置包括:待上传订单数据获取模块610、分批模块620、任务队列***模块630、多线程模块640及自动更新模块650。
待上传订单数据获取模块610,用于获取待上传的订单数据。
分批模块620,用于将待上传的订单数据分批。
任务队列***模块630,用于启动任务队列,将分批后的订单数据按照批次***任务队列中。
多线程模块640,用于将任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使服务器将订单数据上传至第三方平台。
自动更新模块650,用于通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。
在一个实施例中,如图7所示,待上传订单数据获取模块610包括:第一批待上传订单数据模块612、第二批待上传订单数据模块614及重复模块616。
第一批待上传订单数据模块612,用于在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据。
第二批待上传订单数据模块614,用于在第一预设时间段后,根据预设筛选条件对第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据。
重复模块616,用于重复进行在下一个第一预设时间段后,根据预设筛选条件对预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至第二预设时间段内的所有上传结果为失败的订单数据进行上传。
在一个实施例中,分批模块620还用于将待上传的订单数据按照预设数量阈值进行分批。
在一个实施例中,自动更新模块650还用于通过服务器从第三方平台获取订单数据的上传结果,根据上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,订单状态扩展表为预先对订单业务表进行数据库垂直分区所获得的表格。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待上传的订单数据;将待上传的订单数据分批;启动任务队列,将分批后的订单数据按照批次***任务队列中;将任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使服务器将订单数据上传至第三方平台;通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据;在第一预设时间段后,根据预设筛选条件对第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据;重复进行在下一个第一预设时间段后,根据预设筛选条件对预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至第二预设时间段内的所有上传结果为失败的订单数据进行上传。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:将待上传的订单数据按照预设数量阈值进行分批。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:通过服务器从第三方平台获取订单数据的上传结果,根据上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,订单状态扩展表为预先对订单业务表进行数据库垂直分区所获得的表格。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:服务器接收客户端上传的订单数据,并将订单数据采用多线程方式进行批量上传至第三方平台。
在一个实施例中,还提供了一种计算机设备,该计算机设备包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取待上传的订单数据;将待上传的订单数据分批;启动任务队列,将分批后的订单数据按照批次***任务队列中;将任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使服务器将订单数据上传至第三方平台;通过服务器从第三方平台获取订单数据的上传结果并根据上传结果对ERP***中的订单状态进行自动更新。
在一个实施例中,上述处理器执行计算机程序时还实现以下步骤:在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据;在第一预设时间段后,根据预设筛选条件对第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据;重复进行在下一个第一预设时间段后,根据预设筛选条件对预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至第二预设时间段内的所有上传结果为失败的订单数据进行上传。
在一个实施例中,上述处理器执行计算机程序时还实现以下步骤:将待上传的订单数据按照预设数量阈值进行分批。
在一个实施例中,上述处理器执行计算机程序时还实现以下步骤:通过服务器从第三方平台获取订单数据的上传结果,根据上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,订单状态扩展表为预先对订单业务表进行数据库垂直分区所获得的表格。
在一个实施例中,上述处理器执行计算机程序时还实现以下步骤:服务器接收客户端上传的订单数据,并将订单数据采用多线程方式进行批量上传至第三方平台。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种ERP***中订单状态自动更新方法,所述方法包括:
获取待上传的订单数据;
将所述待上传的订单数据分批;
启动任务队列,将分批后的订单数据按照批次***任务队列中;
将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
2.根据权利要求1所述的方法,其特征在于,所述获取待上传的订单数据,包括:
在预设时间原点,根据预设筛选条件对待上传的订单数据进行筛选,获取筛选通过的订单数据为第一批待上传的订单数据;
在第一预设时间段后,根据预设筛选条件对所述第一预设时间段内产生的待上传的订单数据及第一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为第二批待上传的订单数据;
重复进行在下一个第一预设时间段后,根据预设筛选条件对所述预设时间段内产生的待上传的订单数据及前一批上传结果为失败的订单数据进行筛选,获取筛选通过的订单数据为当前批次待上传的订单数据,直到达到第二预设时间段,则对从预设时间原点至所述第二预设时间段内的所有上传结果为失败的订单数据进行上传。
3.根据权利要求1所述的方法,其特征在于,所述将所述待上传的订单数据分批,包括:
将所述待上传的订单数据按照预设数量阈值进行分批。
4.根据权利要求1所述的方法,其特征在于,所述通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新,包括:
通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
5.一种ERP***,其特征在于,所述***包括:客户端及服务器:
所述客户端,用于获取待上传的订单数据;将所述待上传的订单数据分批;启动任务队列,将分批后的订单数据按照批次***任务队列中;将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器;通过服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对所述客户端中的订单状态进行自动更新。
所述服务器,用于接收客户端上传的订单数据,并将所述订单数据采用多线程方式进行批量上传至第三方平台;从第三方平台获取所述订单数据的上传结果,将所述上传结果转发至所述客户端。
6.根据权利要求5所述的***,其特征在于,所述客户端还用于通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
7.一种ERP***中订单状态自动更新装置,其特征在于,所述装置包括:
待上传订单数据获取模块,用于获取待上传的订单数据;
分批模块,用于将所述待上传的订单数据分批;
任务队列***模块,用于启动任务队列,将分批后的订单数据按照批次***任务队列中;
多线程模块,用于将所述任务队列中的订单数据采用多线程方式进行批量上传至服务器,以使所述服务器将所述订单数据上传至第三方平台;
自动更新模块,用于通过所述服务器从第三方平台获取所述订单数据的上传结果并根据所述上传结果对ERP***中的订单状态进行自动更新。
8.根据权利要求7所述的装置,其特征在于,所述自动更新模块还用于通过所述服务器从所述第三方平台获取所述订单数据的上传结果,根据所述上传结果对ERP***中订单状态扩展表上的订单状态进行自动更新,所述订单状态扩展表为预先对所述订单业务表进行数据库垂直分区所获得的表格。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权1至4中任一项所述的ERP***中订单状态自动更新方法。
10.一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权1至4中任一项所述的ERP***中订单状态自动更新方法。
CN201710787543.6A 2017-09-04 2017-09-04 Erp***中订单状态自动更新方法、存储介质和计算机设备 Active CN107679822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710787543.6A CN107679822B (zh) 2017-09-04 2017-09-04 Erp***中订单状态自动更新方法、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710787543.6A CN107679822B (zh) 2017-09-04 2017-09-04 Erp***中订单状态自动更新方法、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN107679822A true CN107679822A (zh) 2018-02-09
CN107679822B CN107679822B (zh) 2020-11-10

Family

ID=61135067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710787543.6A Active CN107679822B (zh) 2017-09-04 2017-09-04 Erp***中订单状态自动更新方法、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN107679822B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710623A (zh) * 2018-12-10 2019-05-03 杭州爱聚科技有限公司 一种智能订单同步方法
CN111861116A (zh) * 2020-06-16 2020-10-30 广东工业大学 一种自动驾驶出租车***的乘客排队方法
CN112132652A (zh) * 2020-09-02 2020-12-25 苏宁云计算有限公司 订单信息获取方法、装置、计算机设备和存储介质
CN112416717A (zh) * 2020-11-27 2021-02-26 中国农业银行股份有限公司 一种批量执行结果上报方法、装置、设备及介质
CN113824973A (zh) * 2021-08-04 2021-12-21 杭州星犀科技有限公司 多平台直推推流的方法、***、电子装置和存储介质
CN113987099A (zh) * 2021-11-02 2022-01-28 金云数据科技有限公司 一种基于bim技术的自动落模型至gis的方法
CN115526491A (zh) * 2022-09-28 2022-12-27 深圳市海葵信息技术有限公司 物资需求计划的数据处理方法、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064351A1 (en) * 1999-11-22 2004-04-01 Mikurak Michael G. Increased visibility during order management in a network-based supply chain environment
CN101369330A (zh) * 2008-10-08 2009-02-18 金蝶软件(中国)有限公司 单据处理方法、装置和***
US20090182600A1 (en) * 2007-07-24 2009-07-16 Constellation Homebuilder Systems Inc. System and Method of Real-Time Homebuilding Scheduling
US20100145774A1 (en) * 2005-03-24 2010-06-10 Federal Center Of Informatization At The Central Election Commission Of The Russian Federation Method for voting preparation and implementation by means of an automated operational information system
CN102708490A (zh) * 2012-04-17 2012-10-03 福建三元达软件有限公司 通过无线通信方式实现订单处理的***及订单处理方法
CN103139281A (zh) * 2011-12-05 2013-06-05 北大方正集团有限公司 个性化印刷***及其控制方法
JP2013175070A (ja) * 2012-02-27 2013-09-05 Start Co Ltd 業務処理システム
CN106296352A (zh) * 2016-08-04 2017-01-04 多点生活(中国)网络科技有限公司 订单数据处理方法和装置
CN106296378A (zh) * 2016-07-26 2017-01-04 四川长虹电器股份有限公司 基于xbrl的智能财务云平台***、构建方法及业务实现方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064351A1 (en) * 1999-11-22 2004-04-01 Mikurak Michael G. Increased visibility during order management in a network-based supply chain environment
US8271336B2 (en) * 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
US20100145774A1 (en) * 2005-03-24 2010-06-10 Federal Center Of Informatization At The Central Election Commission Of The Russian Federation Method for voting preparation and implementation by means of an automated operational information system
US20090182600A1 (en) * 2007-07-24 2009-07-16 Constellation Homebuilder Systems Inc. System and Method of Real-Time Homebuilding Scheduling
CN101369330A (zh) * 2008-10-08 2009-02-18 金蝶软件(中国)有限公司 单据处理方法、装置和***
CN103139281A (zh) * 2011-12-05 2013-06-05 北大方正集团有限公司 个性化印刷***及其控制方法
JP2013175070A (ja) * 2012-02-27 2013-09-05 Start Co Ltd 業務処理システム
CN102708490A (zh) * 2012-04-17 2012-10-03 福建三元达软件有限公司 通过无线通信方式实现订单处理的***及订单处理方法
CN106296378A (zh) * 2016-07-26 2017-01-04 四川长虹电器股份有限公司 基于xbrl的智能财务云平台***、构建方法及业务实现方法
CN106296352A (zh) * 2016-08-04 2017-01-04 多点生活(中国)网络科技有限公司 订单数据处理方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710623A (zh) * 2018-12-10 2019-05-03 杭州爱聚科技有限公司 一种智能订单同步方法
CN111861116A (zh) * 2020-06-16 2020-10-30 广东工业大学 一种自动驾驶出租车***的乘客排队方法
CN112132652A (zh) * 2020-09-02 2020-12-25 苏宁云计算有限公司 订单信息获取方法、装置、计算机设备和存储介质
CN112132652B (zh) * 2020-09-02 2022-11-29 苏宁云计算有限公司 订单信息获取方法、装置、计算机设备和存储介质
CN112416717A (zh) * 2020-11-27 2021-02-26 中国农业银行股份有限公司 一种批量执行结果上报方法、装置、设备及介质
CN113824973A (zh) * 2021-08-04 2021-12-21 杭州星犀科技有限公司 多平台直推推流的方法、***、电子装置和存储介质
CN113987099A (zh) * 2021-11-02 2022-01-28 金云数据科技有限公司 一种基于bim技术的自动落模型至gis的方法
CN113987099B (zh) * 2021-11-02 2024-01-30 金云数据科技有限公司 一种基于bim技术的自动落模型至gis的方法
CN115526491A (zh) * 2022-09-28 2022-12-27 深圳市海葵信息技术有限公司 物资需求计划的数据处理方法、设备及存储介质
CN115526491B (zh) * 2022-09-28 2023-11-17 惠州市海葵信息技术有限公司 物资需求计划的数据处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN107679822B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN107679822A (zh) Erp***中订单状态自动更新方法、存储介质和计算机设备
US8499300B2 (en) System and method for task management of rule based tasks
CN106406993B (zh) 一种定时任务管理方法和***
CN107665234A (zh) 业务处理方法、装置、服务器和存储介质
CN109144683A (zh) 任务处理方法、装置、***及电子设备
CN106528275A (zh) 数据任务的处理方法及任务调度器
CN102467532A (zh) 一种任务处理方法以及任务处理装置
CN109445949A (zh) 一种数据采集***和数据采集方法
CN109901918B (zh) 一种处理超时任务的方法和装置
CN111026602A (zh) 一种云平台的健康巡检调度管理方法、装置及电子设备
CN107333248B (zh) 一种短信实时发送方法和***
US20210224111A1 (en) Coordinating event-driven object execution
EP4128129A1 (en) Decentralized governance regulatory compliance (d-grc) controller
CN108053086B (zh) 一种遗体处理过程的资源智能调度方法及***
CN110611707A (zh) 一种任务调度的方法及装置
CN110569113A (zh) 分布式任务的调度方法及***、计算机可读存储介质
CN110619014A (zh) 一种基于etl的数据抽取方法
CN110471774A (zh) 一种基于统一任务调度的数据处理方法及装置
US10891203B2 (en) Predictive analysis, scheduling and observation system for use with loading multiple files
CN105303290A (zh) 管理制造执行***中的数据
CN106371849A (zh) 应用数据的处理方法及装置
CN105446812A (zh) 一种多任务调度配置方法
CN104750849B (zh) 用于维护基于树形结构的目录关系的方法和***
CN108268474A (zh) 一种库存管理的方法及装置
CN108366061B (zh) 一种用于社保的数据处理***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant