一种网络订单的本地打印方法和系统与流程

文档序号:11406728阅读:492来源:国知局
一种网络订单的本地打印方法和系统与流程

本发明涉及网络订单的打印技术,特别是多路并发的网络订单打印技术。



背景技术:

随着互联网的蓬勃发展,特别是移动互联网的兴起,越来越多的餐馆、酒吧等消费场所支持“互联网+”服务,消费者可通过手机微信、支付宝、或浏览器等方式扫描二维码下单,也可直接通过相关手机app软件提交订单。现有技术中,订单打印方法存在以下各种问题:(1)采用向服务器轮询的方式获取订单,这种方式的缺点是轮询快则服务器压力大、性能低,轮询慢则获取订单延时、用户体验差。(2)订单一般保存在本地队列中,只能按顺序打印,每个时刻只能一台打印机工作,其它打印机闲置,在高峰期商户、用户体验差。(3)订单打印过程中,如有网络异常发生(如网络闪断、网络延迟等,这些在实际场景中常常出现),影响后续所有订单,造成订单延误打印、甚至不打印(漏单),以致用户等待良久、情绪愤怒,体验极差。(4)打印机异常时,常有漏单发生,用户体验极差。(5)商家想更换打印效果,需在人工在本地修改配置或升级软件。(6)很多订单获取装置有软件界面,需要商家交互操作,在有些工作场景(如厨房)使用不便。



技术实现要素:

本发明的一个目的在于,提供一种网络订单的本地打印方法,以提供快速、灵活、稳定、高效的网络订单的本地打印服务。

本发明通过如下技术方案实现:提供一种网络订单的本地打印方法,从云平台获取所述网络订单,根据所述网络订单的订单信息适配打印模型,根据打印模型生成打印任务并映射到打印任务树,遍历打印任务树并向所述多个打印机发送所述打印任务。

进一步地,所述方法还包括接受用户输入以对打印模板进行修改的步骤。

进一步地,所述方法还包括获取所述多个打印机的所述打印机信息的步骤。

进一步地,所述方法还包括搜集来自所述打印机的打印错误信息并向云平台上传所述打印错误信息的步骤。

进一步地,所述方法还包括根据所述打印错误信息恢复打印任务的步骤。

本发明的另一个目的在于,提供一种网络订单的本地打印系统,包括打印服务器和与打印服务器通信的多个打印机,所述服务器包括:网络订单获取模块,用于从云平台获取所述网络订单;打印模型适配模块,用于根据所述网络订单的订单信息适配打印模型;打印任务管理模块,用于根据打印模型生成打印任务并映射到打印任务树;打印机管理模块,用于遍历打印任务树并向所述多个打印机发送所述打印任务。

进一步地,所述系统还包括打印配置模块,其用于接受用户输入并对打印模板进行相应的修改。

进一步地,所述系统还包括打印机信息扫描模块,用于获取所述多个打印机的所述打印机信息。

进一步地,所述系统还包括错误搜集模块,用于搜集来自所述打印机的打印错误信息并上传至云平台。

进一步地,所述系统还包括故障恢复模块,用于根据打印错误信息恢复打印任务。

本发明的有益效果是:一方面,本发明根据所述网络订单的所述订单信息决定对应的打印模板和打印机信息,根据所述打印模板和打印机信息生成对应的打印模型,并将打印模型映射到打印任务树,可以将一个网络订单分割成多个打印任务,利用多个打印机同时执行打印任务,从而使实现所述网络订单的多路并行打印,以提高打印效率,并可以按网络订单的类型分配不同的打印机进行打印,使系统更加灵活智能。另一方面,本发明通过打印伪指令使得不同打印机硬件对用户透明,提高了打印的灵活性。

附图说明

图1是根据本发明的一个实施方式的网络订单的本地打印系统的架构示意图;

图2是根据本发明的一个实施方式的网络订单的本地打印方法的流程图;

图3是根据本发明的一个实施方式的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是根据本发明的一个实施方式的网络订单的本地打印系统的架构示意图。在本实施例中,系统可以包括打印服务器1、与打印服务器1通信的前台打印机21、第一打印机22、第二打印机23和第三打印机24。打印服务器1通过互联网3与云平台4通信连接。第一打印机22、第二打印机23和第三打印机24可以通过局域网7与打印服务器1通信连接。前台打印机21可以是usb打印机、串口打印机或并口打印机。多个用户5可以通过用户端61进行下单,用户端6通过互联网3与云平台4通信连接,云平台4接收用户5下单后形成网络订单。打印服务器1可以通过互联网3从云平台4获取网络订单,并通过前台打印机21、第一打印机22、第二打印机23和/或第三打印机24并行打印多个网络订单或同一个网络订单的不同部分。

在一种实施方式中,系统还可以包括与打印服务器1连接的本地数据库8,用于存储网络订单。

在一种实施方式中,打印服务器1还可以通过数据连接与一个配置装置9进行通信,以便用户通过配置装置9输入配置信息。配置装置9可以是各种移动终端,例如手机、平板电脑等。数据连接可以是蓝牙连接、usb连接等等。

图2是根据本发明的一个实施方式的网络订单的本地打印方法的流程图。其可以用于打印服务器1。基于上述图1所提供的系统,方法可以包括如下步骤:

步骤s101,打印服务器1从云平台4获取网络订单。

在一个实施例中,当用户通过云平台4下单以后,云平台4向打印服务器1推送消息,打印服务器1收到消息后与云平台4建立网络连接,并从云平台4接收网络订单。接收的网络订单可以存储于本地数据库8中。

步骤s102,打印服务器1根据网络订单的订单信息适配打印模型。

打印模型是一种数据结构,包含了打印机信息、将要打印的网络订单的订单信息和打印模板。客户给商户下的网络订单的订单信息可以包括台号、流水号、订单号、菜品、配菜、数量、价格、优惠信息等数据。每个网络订单可以包括多个不同种类的菜品,例如宫保鸡丁、卤水豆腐、盐焗鸡等等。商户可以包括多个档口和前台,例如档口1、档口2、档口3等等,每个档口各配备了一台打印机,分别为第一打印机22、第二打印机23和第三打印机24。前台配备了一个前台打印机21。每种菜品可以对应一个档口的一个打印机,例如宫保鸡丁在档口1处理,则第一打印机22与宫保鸡丁菜品对应。一个网络订单可以包括多份同样的菜品,菜品也可以由多个档口分别并行处理,那么包含这个菜品的网络订单也可以对应多个打印机以便对同一个网络订单分别并行打印。商户往往还需要在前台的前台打印机21打印给客户的小票,因此订单信息中的一部分数据还需要通过前台打印机21进行打印。打印服务器1可以根据订单的订单信息与打印机之间的对应关系,决定用于打印网络订单的打印机,并调用打印机相应的打印模板从而获得打印模型。

打印机的打印机信息可以包括打印机的各种参数,例如当打印机是串口打印机时,打印机信息包括波特率、数据位、奇偶校验位、停止位等数据,当打印机是网络打印机时,打印机信息可以包括打印机的ip地址、端口号等数据;当打印机是usb打印机时,打印机信息可以包括设备id号等等。

打印模板可以包括打印元素、打印元素的类型、位置和颜色等数据。打印元素可以包括字符串打印元素、线条打印元素、图片打印元素等等。字符串打印元素可以分别为“菜品名称”、“台号”、“订单号”等字符串,分别与订单信息中的菜品、台号、订单号等数据相对应。

在一些实施方式中,打印服务器还提供打印控制伪指令,根据订单信息通过打印控制伪指令对相应的打印模板进行配置,从而屏蔽了各种打印指令的多样性与复杂性,对外提供统一的打印控制伪指令,线上订单结合这些指令界面可以自定义打印内容,输出丰富的打印效果,因此线上订单可随时根据商户需求更换打印效果,而本地软件无需任何变动。

步骤s103,打印服务器1根据打印模型生成打印任务并映射到打印任务树。

可以根据订单信息将打印模型分解为若干个打印任务,由多个打印机并行处理这些打印任务。打印模型可以按照订单信息中的菜品进行分解。例如当订单信息中包含三个菜品,则可以根据菜品与打印机的对应关系生成三个打印任务,分别交由第一打印机22、第二打印机23和第三打印机24进行打印。在给打印机分配打印任务时,还可以统计打印机的待完成打印任务的数量,根据打印任务的多少对进行均衡分配。

打印任务树是一种树结构的链表数据结构。打印任务树的根结点下可以包括多个打印模型节点,每个打印模型节点下有若干打印任务子节点,打印任务子节点表示由同一个打印模型分解出来的打印任务。将打印任务映射到打印任务树时,可以在根结点下插入子树,子树包括新的打印模型节点和打印任务子节点。

步骤s104,打印服务器1遍历打印任务树并向所述多个打印机发送所述打印任务。

进一步地,方法还包括接受用户输入以对打印设置进行修改的步骤。用户可以通过配置装置9向打印服务器传输新的打印设置。打印设置可以包括打印模板。通过接收用户输入的打印模板来对旧的打印模板进行替换。这样可以使用户不用改变系统的软件架构就可以对打印的效果进行配置。

进一步地,方法还包括打印服务器1获取多个打印机的打印机信息的步骤。打印服务器1可以扫描其所连接的多个打印机,以获取这些打印机的打印机信息。

进一步地,方法还包括打印服务器1搜集来自打印机的打印错误信息并向云平台4上传打印错误信息的步骤。这些打印错误信息可以存储于云平台4或者本地数据库8中,以便用户查阅相关上下文场景信息,及时恢复故障。

进一步地,方法还包括打印服务器1根据打印错误信息恢复打印任务的步骤。当一个打印任务因为打印错误而失败时,打印服务器1可以向发出打印错误信息的打印机重新发送打印命令,以便恢复打印失败的打印任务。

图3是根据本发明的一个实施方式的服务器的结构示意图。如图所示,打印服务器1包括:所述服务器包括:网络订单获取模块11,用于从云平台4获取所述网络订单;打印模型适配模块12,用于根据所述网络订单的订单信息适配打印模型;打印任务管理模块13,用于根据打印模型生成打印任务并映射到打印任务树;打印机管理模块14,用于遍历打印任务树并向所述多个打印机发送所述打印任务。

在一些实施例中,系统还包括打印配置模块15,其用于接受用户输入并对打印设置进行相应的修改。

在一些实施例中,系统还包括打印机信息扫描模块16,用于获取多个打印机的打印机信息。

在一些实施例中,系统还包括错误搜集模块17,用于搜集来自打印机的打印错误信息并上传至云平台4。

在一些实施例中,系统还包括故障恢复模块18,用于根据打印错误信息恢复打印任务。当一个打印任务因为打印错误而失败时,故障恢复模块可以向发出打印错误信息的打印机重新发送打印命令,以便恢复打印失败的打印任务。从而提高了系统的稳定性和可靠度。

综上所述,一方面,本发明根据网络订单的订单信息决定对应的打印模板和打印机信息,根据打印模板和打印机信息生成对应的打印模型,并将打印模型映射到打印任务树,可以将一个网络订单分割成多个打印任务,利用多个打印机同时执行打印任务,从而使实现网络订单的多路并行打印,以提高打印效率,并可以按网络订单的类型分配不同的打印机进行打印,使系统更加灵活智能。另一方面,本发明通过打印伪指令使得不同打印机硬件对用户透明,提高了打印的灵活性。

应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1