一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法及系统与流程

2022-06-11 13:34:40 来源:中国专利 TAG:


1.本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。


背景技术:

2.随着互联网技术的不断发展,许多提供互联网服务的服务方,在需要进行数据打印的情况下,都会将需要打印的数据完整的发送给进行数据打印的打印方,例如,在网购场景下,许多商户都会在网购平台上售卖商品,而用户通过网购平台上购买商户售卖的商品后,该网购平台需要将商品购买订单发送给商户进行打印。
3.现有技术中,服务方既要提供互联网服务,又要发送需要进行打印的数据,从而导致服务方的打印效率较低,不能满足高效率、高频的打印场景下的打印需求。


技术实现要素:

4.有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理系统,一种计算设备,一种计算机可读存储介质,一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
6.接收数据打印指令,其中,所述数据打印指令中携带有待打印数据的标识信息;
7.根据所述待打印数据的标识信息获取所述待打印数据;
8.确定与所述待打印数据相关联的目标打印模板,其中,所述目标打印模板基于对待处理打印模板进行调整获得;
9.基于所述目标打印模板以及所述待打印数据生成待打印文件,并将所述待打印文件发送至文件打印模块进行打印。
10.根据本说明书实施例的第二方面,提供了一种数据处理系统,所述系统包括打印处理模块以及文件打印模块,其中,
11.所述打印处理模块,被配置为接收数据打印指令,其中,所述数据打印指令中携带有待打印数据的标识信息;根据所述待打印数据的标识信息获取所述待打印数据;确定与所述待打印数据相关联的目标打印模板,其中,所述目标打印模板基于对待处理打印模板进行调整获得;基于所述目标打印模板以及所述待打印数据生成待打印文件,并将所述待打印文件发送至文件打印模块进行打印;
12.所述文件打印模块,被配置为打印所述待打印文件。
13.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
14.存储器和处理器;
15.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
16.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
17.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行所述数据处理方法的步骤。
18.本说明书提供的数据处理方法,包括接收数据打印指令,其中,所述数据打印指令中携带有待打印数据的标识信息;根据所述待打印数据的标识信息获取所述待打印数据;确定与所述待打印数据相关联的目标打印模板,其中,所述目标打印模板基于对待处理打印模板进行调整获得;基于所述目标打印模板以及所述待打印数据生成待打印文件,并将所述待打印文件发送至文件打印模块进行打印。
19.具体地,该数据处理方法在接收到数据打印指令的情况下,主动获取待打印数据,并在基于该待打印数据,以及相关联的目标打印模板生成待打印文件后,将该待打印文件发送至文件打印模块进行打印,从而避免了打印效率较低的问题,提供满足高效率、高频的打印场景下的打印需求的打印能力。
附图说明
20.图1是本说明书一个实施例提供的一种数据处理系统的处理流程示意图;
21.图2是本说明书一个实施例提供的一种数据处理方法的流程图;
22.图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
23.图4是本说明书一个实施例提供的一种数据处理系统的结构示意图;
24.图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
25.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
26.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
27.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
28.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
29.跨平台安装:指软件可部署在mac、windows、linux等操作系统下安装。
30.并发打印:同一个台电脑可同时驱动多台打印机同时打印的能力。
31.electron框架:是一种使用传统前端技术(如nodejs,javascript,html,css)开发一个跨平台桌面应用的框架。该桌面应用指的是在windows、osx及linux等操作系统上运行的程序。
32.websocket:是一种在单个tcp连接上进行全双工通信的协议。
33.新商场:新零售场景下的商场活动;依托于互联网技术的新型商场运营活动。主要指线下线上活动一体化深度结合物流的零售新模式。
34.随着互联网技术的不断发展,许多浏览器提供了基础的打印能力能够执行打印操作,然而对于高效率、高频打印场景的要求下,远远不满足打印的需要,例如,在网购场景下,浏览器所提供的基础的打印能力,并不能够满足高效率、高频打印的需求。
35.基于此,本说明书提出了一种定制化的打印客户端,该打印客户端是专用打印软件;其优点在于,能够大规模的使用,且稳定性较强。但缺点在于:该软件不支持跨平台,仅限于windows操作系统下使用,并且必须配备专用打印机,并且该定制化的打印客户端不支持驱动多台打印机的能力。
36.以及,本说明书提出了另一种是web打印控件,该控件支持打印编程接口,其优点在于:简单,稳定性强,并且可自定义编程;但缺点在于:不支持跨平台使用,仅限于windows操作系统下使用,且版本较低、不支持驱动多台打印机的能力。
37.因此,为了满足打印需求,本说明书实施例中提供了一种数据处理方法,该数据处理方法能够应用于打印处理模块,该打印处理模块可以理解为一款具备高效、高频、可控地操作软件(客户端软件)。通过该客户端软件实现web浏览器中承载互联网服务(例如网购服务)与操作系统打印驱动软件的闭环,可驱动多台打印机同时打印,并且具备跨平台安装打印的能力。
38.具体地,在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
39.图1示出了根据本说明书一个实施例提供的一种数据处理系统的流程示意图,其中,该数据处理系统的系统框架主要由四个部分构成:web服务侧、打印客户端、服务端以及打印机。具体地,该web服务侧作为整个打印任务的发起方,能够将打印请求发送至客户端软件,其中,该打印请求中携带有待打印订单数据的参数,该参数可以理解为订单号。该客户端作为链接终端(该终端上部署有客户端软件)、打印机的中转处理桥梁,在接收到web服务侧发送的对打印请求后,能够基于该打印请求中携带的订单号,向服务端请求订单数据。该服务端为处理web逻辑的部分,该服务端能够响应于客户端软件发送的请求,将订单数据发送至该客户端软件。
40.该客户端软件在接收到订单数据后,将该订单数据渲染到客户端上,使用户感知到订单数据正在执行打印,并且该感知的状态可回传给web服务侧(即web服务端)。
41.之后该客户端软件开始发起打印逻辑,获取打印机的当前状态,并基于该当前状态将打印页面生成的打印任务(处理结果)推送到打印机驱动的队列中,一旦打印机就绪后,自动开始打印并出纸。
42.本说明书提供的数据处理方法的客户端软件,是采用electron框架所开发的,从而实现该客户端软件能够支持多个操作系统安装部署,也即是能够支持多个操作系统下使用本软件。其次,在将打印任务发送给打印机时,本说明书提供的数据处理方法,采用的动态并发推送给多个可用打印机队列,具备并发打印的能力,也就是说,一台部署客户端软件的计算机(终端)可以挂载多个打印机同时打印的能力。从方案设计上,允许用户选择多个
可用的打印机,并记录其打印的状态;并在进行推送的情况下,通过命令查询获得各个打印机的任务数,使用算法均分地将打印任务分配给各个打印机队列;其本质上是赋予其“负载均衡”能力的过程,使打印机不太“负重”进行工作,避免造成队列阻塞。当总打印数量过多时,客户端软件则会本地缓存数据(待打印文件),并通过分批打印或者均分打印的方式,慢慢稀释打印任务数量。避免了某些打印机驱动超出过渡队列,则会直接阻塞打印机打印的问题。
43.图2示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
44.步骤202:接收数据打印指令,其中,所述数据打印指令中携带有待打印数据的标识信息。
45.在实际应用中,本说明书提供的数据处理方法,能够应用于对打印操作进行处理的打印处理模块,该打印处理模块可以理解为能够对打印操作进行处理的客户端软件。
46.相应地,该待打印数据可以理解为需要进行打印的数据。在本说明书提供的数据处理场景应用于不同场景的情况下,该待打印数据也不同。例如,在网购场景下,该待打印数据可以理解订单数据;在银行场景下,该待打印数据可以理解为银行流水账单等。相应地,该标识信息可以理解为唯一标识一个待打印数据的信息,在说明书实施例中对该标识信息不做具体限制;例如,在待打印数据的订单数据的情况下,该标识信息可以理解为订单号;在待打印数据的银行流水账单的情况下,该标识信息可以理解为银行流水账单的编号。相应地,该数据打印指令可以理解为指示打印处理执行打印操作的指令。在实际应用中,该数据打印指令可以是打印请求模块向打印处理模块发送的指令。其中,该打印请求模块可以理解为请求打印处理模块执行打印操作的机构、平台等。例如,该打印请求模块可以理解为上述web服务,该web服务可以理解为网购平台、银行的互联网服务平台等。
47.具体地,该打印处理模块能够接收到指示其进行打印操作的数据打印指令,其中,该数据打印指令中携带有待打印数据的标识信息。
48.下面以数据处理方法在打印订单数据场景的应用,对接收数据打印指令进行说明,其中,该打印处理模块为客户端软件、待打印数据为订单数据、待打印数据的标识信息为订单号。基于此,客户端软件能够接收到指示其进行打印操作的订单打印指令,该订单打印指令中携带有订单数据的订单号。
49.在实际应用中,该数据打印指令可以由打印请求模块发送至打印处理模块,从而指示该打印处理模块执行打印操作;而在打印请求模块向打印处理模块发送该数据打印指令的过程中,该打印请求模块需要获取该打印请求模块的当前状态信息,并根据该当前状态信息判断是否向该打印处理模块发送该数据打印指令,从而避免打印处理模块由于未配置完成、未打印完成和/或打印计数过多等问题,导致无法执行针对该待打印数据的打印操作的问题发生,具体实现方式如下。
50.所述接收数据打印指令,包括:
51.接收打印请求模块发送的状态获取请求;
52.响应于所述状态获取请求将当前状态信息发送至所述打印请求模块;
53.接收所述打印请求模块发送的数据打印指令,其中,所述数据打印指令为所述打印请求模块根据所述当前状态信息所发送的指令。
54.其中,该状态获取请求可以理解为打印请求模块请求获得打印处理模块的当前状态信息的请求,相应地,该当前状态信息可以理解为表征该打印处理模块的当前运行状态的信息。例如,该当前状态信息可以理解为表征该客户端软件是否安装的信息、该客户端软件的打印进程信息等。
55.具体地,打印请求模块在需要对待打印数据进行打印的过程中,首先向打印处理模块发送针对打印处理模块的当前状态信息的状态获取请求;该打印处理模块在接收到打印请求模块发送的状态获取请求的情况下,响应于该状态获取请求,将其自身的当前状态信息发送至打印请求模块;该打印请求模块在接收到打印处理模块的当前状态信息之后,基于该当前状态信息判断打印处理模块能够执行打印操作的情况下,将携带有该待打印数据的标识信息的数据打印指令发送至打印处理模块,该打印处理模块接收打印请求模块发送的数据打印指令,并基于该数据打印指令执行后续针对该待打印数据的打印操作。
56.沿用上例,其中,打印请求模块为web服务端。基于此,web服务端触发调用逻辑,向客户端软件发送状态获取请求,该客户端软件响应于该状态获取请求,将自身的当前运行状态信息发送至web服务端。该web服务端基于该当前运行状态信息,能够检测该客户端是否还存在未打印完成等问题,其目的是为了判断当前的环境是否符合打印前置准备,以及规避打印计数的情况。
57.而该web服务端在基于当前运行状态信息,确定客户端软件符合打印前置准备的情况下,会将携带有订单号的订单打印指令发送该客户端软件;该客户端软件在接收到web服务端发送的订单打印指令后,能够基于该订单打印指令执行针对订单数据的打印操作。
58.在实际应用中,该web服务端在打印订单数据的过程中,还会触发调用逻辑,先去检查终端上是否安装有执行打印操作的客户端软件,从而进一步判断当前的环境是否符合打印前置准备。
59.步骤204:根据所述待打印数据的标识信息获取所述待打印数据。
60.具体地,打印处理模块在接收到数据打印指令之后,能够基于该数据打印指令中携带有待打印数据的标识信息,获取到需要执行打印操作的待打印处理。从而避免了web服务端既要执行web服务,又要将数据下发至打印处理模块,所导致的处理效率较低的问题,提供满足高效率、高频的打印场景下的打印需求的打印能力。
61.在本说明书提供的一实施例中,该待打印数据能够从数据提供模块获取,具体地,所述根据所述待打印数据的标识信息获取所述待打印数据,包括:
62.基于所述待打印数据的标识信息生成数据获取请求,并将所述数据获取请求发送至数据提供模块;
63.接收所述数据提供模块响应于所述数据获取请求发送的待打印数据,其中,所述待打印数据为所述数据提供模块基于所述标识信息确定的数据。
64.其中,数据提供模块可以理解为能够提供待打印数据的机构、平台、服务器、设备等,例如,数据处理系统中的服务端。在实际应用中,用户通过web服务端完成商品购买之后,该web服务端会生成用户购买商品的订单数据,并将该订单同步至服务端中。后续由服务端在接收到客户端软件的数据获取请求的情况下,查询订单数据并将该订单数据发送给客户端软件执行打印操作。
65.具体地,打印处理模块在接收到数据打印指令之后,基于该数据打印指令中携带
的待打印数据的标识信息,生成数据获取请求,并将该数据获取请求发送至数据提供模块;该数据提供模块在接收到数据获取请求之后,响应于该数据获取请求,获取该数据获取请求中携带的标识信息,并基于该标识信息查询到与该标识信息相匹配的待打印数据,并将该待打印数据发送至该打印处理模块。该打印处理模块接收数据提供模块发送的待打印数据,后续对该待打印数据执行打印操作。
66.沿用上例,客户端软件在接收到web服务端发送的订单打印指令之后,能够基于该订单打印指令中携带的订单号生成订单数据获取请求,并将该订单数据获取请求发送至服务端;服务端在接收到该订单数据获取请求的情况下,响应于该订单数据获取请求,基于该订单数据获取请求携带的订单号,从自身存储的订单数据中查询与该订单号相匹配的订单数据,并将该订单数据发送至客户端软件;客户端软件在接收到该订单数据后,对该订单数据执行后续的打印操作。
67.本说明书提供的实施例中,打印处理模块将基于待打印数据的标识信息生成数据获取请求发送至数据提供模块;并能够接收数据提供模块响应于数据获取请求发送的待打印数据,从而避免了web服务端既要执行web服务,又要将数据下发至打印处理模块,所导致的处理效率较低的问题,提供满足高效率、高频的打印场景下的打印需求的打印能力。
68.进一步地,本说明书一实施例中,在数据提供模块在向打印处理模块发送待打印数据的过程中,为了避免数据泄露的问题,保存数据的安全性,需要对打印处理模块发送的数据获取请求进行验证,在验证通过的情况下,会将待打印数据发送至打印处理模块,例如,在银行流水账单打印场景下,部署在银行终端上的客户端软件,在向提供银行流水数据的服务端发送、针对该银行流水数据的数据获取请求后,该服务端会对该数据获取请求进行验证,验证发出数据获取请求的客户端软件,是否为被授权能够获取银行流水数据的客户端软件。在验证通过的情况下,将该银行流水数据发送至该客户端软件,以使该客户端软件能够执行后续的打印操作,从而避免了数据泄露的问题、保存数据的安全性;具体实现方式如下。
69.所述根据所述待打印数据的标识信息获取所述待打印数据,包括:
70.获取待验证信息,以及所述待打印数据的标识信息;
71.基于所述待验证信息以及所述标识信息生成数据获取请求,并将所述数据获取请求发送至数据提供模块;
72.接收所述数据提供模块响应于所述数据获取请求,对所述数据获取请求验证通过后,根据所述标识信息确定的待打印数据。
73.其中,该待验证信息可以理解为表征打印处理模块是否能够获取待打印数据的信息,后续数据提供模块需要基于该待验证信息,对打印处理模块发送的数据获取请求进行验证;例如,该待验证信息可以理解为该打印处理模块被配置的账号信息、打印处理模块被配置通行密钥等。
74.具体地,打印处理模块能够获取到其配置的待验证信息,以及接收到的数据打印指令中携带的待打印数据的标识信息;基于该待验证信息和标识信息生成数据获取请求,并将该数据获取请求发送至数据提供模块;该数据提供模块响应于接收到的数据获取请求,基于该数据获取请求中携带的待验证信息,对该数据获取请求进行验证;在验证通过后,数据提供模块基于该标识信息查询到与该标识信息相匹配的待打印数据,并将该待打
印数据发送至该打印处理模块。该打印处理模块接收数据提供模块发送的待打印数据,后续对该待打印数据执行打印操作。
75.沿用上例,其中,该待验证信息为客户端软件上登录的账号信息,基于此,客户端软件在接收到web服务端发送的订单打印指令之后,客户端软件能够获取到其自身被登录的账号的账户信息,并基于该订单打印指令中携带的订单号,以及账户信息生成订单数据获取请求,并将该订单数据获取请求发送至服务端;服务端在接收到该订单数据获取请求的情况下,基于该订单数据获取请求中携带的账号信息,验证该客户端软件上登录的账号是否为授权账户。若是,基于该订单数据获取请求携带的订单号,从自身存储的订单数据中查询与该订单号相匹配的订单数据,并将该订单数据发送至客户端软件;客户端软件在接收到该订单数据后,对该订单数据执行后续的打印操作。若否,则向客户端软件发送未授权的通知,以提示使用该客户端的人员获知该客户端没有权限获取订单数据。
76.步骤206:确定与所述待打印数据相关联的目标打印模板,其中,所述目标打印模板基于对待处理打印模板进行调整获得。
77.具体实施过程中,为了保证打印出的订单数据的规整性、格式统一,该打印处理模块在获得待打印数据之后,会为待打印数据确定目标打印模块,后续基于该待打印数据以及目标打印模块生成格式统一的待打印文件,从而保证打印出的订单数据的规整性。基于此,待处理打印模板可以理解为需要进行调整的打印模板。在实际应用中,客户端软件会提供原始打印模板(即待处理打印模板),但该原始打印模板并不能满足不同的个性化需求,不同的商户在打印订单的过程中,需要符合自身需求的打印模板进行打印。因此,为了满足不同商户的个性化需求,可以对待处理打印模板进行调整获得目标打印模板,后续基于该目标打印模板生成满足不同个性化需求的待打印文件,基于此,本说明书一实施例中,所述确定与所述待打印数据相关联的目标打印模板之前,还包括:
78.接收针对待处理打印模板的模板调整请求,其中,所述模板调整请求中携带有模板调整信息;
79.基于所述模板调整信息对所述待处理打印模板进行调整,获得目标打印模板。
80.其中,该模板调整请求可以理解为对待处理打印模板进行调整的请求;相应地,该模板调整信息可以理解为对待处理打印模板进行调整的信息。例如,该模板调整信息可以为待处理打印模拟中特定模板元素进行修改、删除、新增等操作的信息。该模板元素可以理解为打印模板中的图片、文本显示区域、默认文字等。基于此,该模板调整信息可以为对待处理打印模板中图片和/或文本显示区域的位置进行调整的信息。或者,该模板调整信息可以为对待处理打印模板中的默认文字,进行修改、删除操作的信息。
81.具体地,打印处理模块能够接收到针对待处理打印模板的模板调整请求后,响应于该模板调整请求,基于该模板调整请求中携带的模板调整信息对待处理打印模板进行调整,从而获得目标打印模板,从而满足不同的个性化需求,保证了打印模板的多样性、灵活性。
82.在本说明书提供的实施例中,该打印处理模块可以具有多个打印模板,在获取到待打印数据的情况下,能够从多个打印模板中选择与该待打印数据相关联的目标打印模板,从而满足不同的个性化需求;具体地,所述确定与所述待打印数据相关联的目标打印模板,包括:
83.确定所述待打印数据的数据类型信息;
84.基于所述数据类型信息,从待选择打印模板中选择与所述待打印数据相关联的目标打印模板。
85.其中,数据类型信息可以理解为表征待打印数据的类型的信息;例如,在待打印数据为订单数据的情况下,该数据类型信息可以为订单类型;在待打印数据为银行流水数据的情况下,该数据类型信息可以为银行流水类型。
86.具体地,打印处理模块在获取到待打印数据之后,会确定该待打印数据的数据类型信息,并基于数据类型信息从待选择打印模板中,选择与待打印数据相关联的目标打印模板。例如,在数据类型信息为订单类型的情况下,从多个打印模板中选择与订单数据相关联的打印模板。在数据类型信息为银行流水类型的情况下,从多个打印模板中选择与银行流水数据相关联的打印模板。
87.步骤208:基于所述目标打印模板以及所述待打印数据生成待打印文件,并将所述待打印文件发送至文件打印模块进行打印。
88.其中,该待打印文件可以理解为需要发送给文件打印模块进行打印的文件;该待打印文件的文件类型可以根据实际应用场景进行设置,本说明书对此不走具体限定。例如,该待打印文件的文件类型可以为word、pdf、jpg等类型。
89.该文件打印模块可以理解为能够对该待打印文件进行打印的设备,例如,打印机。
90.具体地,打印处理模块在获得待打印数据以及目标打印模板之后,能够将该待打印数据填充至目标打印模板中,从而获得待打印文件,将待打印文件发送至文件打印模块进行打印。在实际应用中,该打印处理模块能够以分批的方式将待打印文件发送至一个或多个文件打印模块,使得该文件打印模块能够分批的对待打印文件进行打印;或者,该打印处理模块能够以均分的方式将待打印文件发送至多个文件打印模块,使得多个打印机能够以平均分配的对待打印文件进行打印。
91.本说明书提供的实施例中,本说明书提供的数据处理方法允许用户选择多个可用的打印机,并记录该打印机的打印状态,在推送打印任务(打印待打印文件的任务)时候,通过命令查询获得各个打印机的任务数,将打印任务分配给各个打印机队列,实现打印机的“负载均衡”,避免造成队列阻塞。当打印机的总打印数量过多,客户端软件则会本地缓存数据(即待打印文件),从而慢慢稀释打印任务数量。避免打印机驱动,超出过渡队列,导致阻塞打印机打印的问题,具体地,本说明书提供的数据处理方法中,所述文件打印模块为至少两个;
92.相应地,所述将所述待打印文件发送至文件打印模块进行打印,包括:
93.获取至少两个文件打印模块中每个文件打印模块的当前状态信息;
94.基于所述当前状态信息从所述至少两个文件打印模块中,确定目标文件打印模块;
95.将所述待打印文件发送至所述目标文件打印模块进行打印。
96.其中,当前状态信息可以理解为表征文件打印模块的当前打印状态的信息,例如,该当前状态信息可以为打印机的打印数量。相应地,在文件打印模块为打印机的情况下,该目标文件打印模块可以理解为多个打印机中能够执行文件打印操作的打印机。在实际应用中,多个打印机中可能会有部分打印机的打印任务较多,导致处于负载的状态;基于此,该
客户端软件可以从多个打印方中选择能够执行打印操作的打印机进行打印,避免阻塞打印机打印的问题。
97.具体地,打印处理模块能够获取至少两个文件打印模块中每个文件打印模块的当前状态信息;基于当前状态信息从至少两个文件打印模块中,确定出能够执行打印任务的目标文件打印模块,并将待打印文件发送至目标文件打印模块进行打印。
98.沿用上例,客户端软件能够获取多个打印机的当前状态信息,并基于每个打印机的当前状态信息,从多个打印机中选择未负载的、能够执行打印任务的打印机,之后客户端软件开始发起打印逻辑,将在客户端打印页面生成的打印任务(携带有订单文件的任务),推送到打印机驱动的队列中,一旦打印机就绪后,就自动开始打印并出纸,从而完成针对订单文件的打印工作。
99.需要说明的是,打印机中被推送打印任务的队列会有一个打印状态的返回,该打印状态可以为表征打印成功与否的值,客户端软件在接收到打印状态的情况下,将打印状态反馈到终端渲染界面(例如终端屏幕),从而提示用户打印成功。
100.在本说明书一实施例中,所述将所述待打印文件发送至所述目标文件打印模块进行打印,包括:
101.将所述待打印文件分批发送至所述目标文件打印模块进行打印。
102.沿用上例,客户端软件在将订单文件发送给打印机时,可以采用的动态并发的方式推送给多个可用打印机队列,具备并发打印的能力。而在采用的动态并发的方式推送打印任务的过程中,可以采用分批的方式将打印任务分批推送给多个可用打印机队列,从而实现灵活的推送打印任务,避免了打印机负载的问题。
103.进一步地,本说明书提供的一实施例中,所述将所述待打印文件发送至所述目标文件打印模块进行打印,包括:
104.将所述待打印文件平均分配至多个所述目标文件打印模块,以使多个所述目标文件打印模块进行打印。
105.沿用上例,在采用的动态并发的方式推送打印任务的过程中,可以采用均分的方式将多个打印任务,平均推送给多个可用打印机,从而实现灵活的推送打印任务,避免了打印机负载的问题。
106.本说明书提供的数据处理方法,在接收到数据打印指令的情况下,主动获取待打印数据,并在基于该待打印数据,以及相关联的目标打印模板生成待打印文件后,将该待打印文件发送至文件打印模块进行打印,从而避免了打印效率较低的问题,提供满足高效率、高频的打印场景下的打印需求的打印能力。
107.下述结合附图3,以本说明书提供的数据处理方法在商户打印订单数据场景的应用为例,对所述数据处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,参见图3,在网购场景中,用户通过web服务端(如手机购物软件)购买商户所售卖的商品的情况下,web服务端需要向商品发送针对订单数据的打印指令,以指示商户打印该订单数据,并基于打印后的订单数据进行商品售卖的后续操作,如商品打包、商品发货等。
108.基于此,在打印订单数据的流程中,首先是在web服务端触发调用逻辑,获取客户端软件的当前运行状态;基于该当前运行状态检查“客户端是否准备”,若是,则继续检查该“客户端是否在工作”,若否,则向商户提示未准备该客户端,并结束打印流程。其中,客户端是否准备可以为检查商品的是否安装有客户端软件;该客户端是否在工作可以为检查客户端软件是否还未打印完成。需要说明的是,客户端即客户端软件。
109.在检查该客户端是否在工作的过程中,若是,表示该客户端软件还未打印完成,则“提示在工作中”,告知商户客户端软件未打印完成。若否,web服务端则向客户端发送订单打印指令。该客户端接收并处理该订单打印指令。
110.在实际应用中,web服务端检查是否安装客户端、以及客户端是否还未打印完成等基本检查,其目的是为了判断当前的环境是否符合打印前置准备,以及规避打印计数的情况。而本说明书提供的数据处理方法中的客户端,是基于开源electron框架开发的,独立于web服务侧并具备系统底层感知能力。由于其框架适用于web开发者同样的技术栈,所以开发者能够合理切换身份进行研发,且能够支持多个操作系统安装部署,支持多个操作系统下使用该客户端软件。
111.此外,在web到客户端过程的通信是通过websocket实时通信的,web服务端会向客户端发送必要的打印特征值,比如订单打印指令中携带的订单号。因此,客户端处理订单打印指令的过程中,客户端在接收到订单号之后,客户端立刻向商户展示接收过来的数据渲染,并开始处理数据,根据订单号生成订单数据获取请求,且将该订单数据获取请求发送至服务端。
112.在接收到该订单数据获取请求后,服务器处理该订单数据获取请求;服务端先验证该请求是否授权,也即是,该请求是否经过授权的账号发起;若是,则将数据处理结果,以及订单数据返回给客户端,该数据处理结果可以是表征验证通过的结果。
113.而该客户端在接受到数据处理结果后,则确定处理成功(即订单数据获取成功),将数据处理结果渲染到客户端中向用户展示。
114.若否,则确定请求不合法,即该请求不是经过授权的账号发起,服务端会向商户提示未授权,并直接终止掉流程;其中,向商户提示未授权的方式可以为,服务器则将数据处理结果返回给客户端,该数据处理结果可以是表征验证不通过的结果。
115.而该客户端在接受到数据处理结果后,则确定处理失败(即订单数据获取未成功),并将数据处理结果渲染到客户端中向用户展示。
116.也即是说,在客户端向服务端获取订单数据的过程中,服务端经过一系列的逻辑判断后,返回数据到客户端,其中,该数据包含处理成功或失败的状态数据。
117.在客户端获得订单数据后,该客户端开始发起打印逻辑;首先,该客户端会确定与订单数据相适配的订单数据打印模板;并将该订单数据填充至订单数据打印模板中,从而获得订单文件。需要说明的是,该订单数据打印模板可以根据不同商户的需求进行调整,从而获得满足不同商户个性化需求的打印模板。
118.其次,客户端在获得订单文件之后,调用窗体打印,通过窗体将订单文件展示给商户,并基于该订单文件生成打印任务。之后,该客户方将打印页面生成的打印任务,推送给多个打印机的打印驱动队列中,一旦打印机就绪后,自动开始打印并出纸。同时,推送的队列会有一个打印的状态返回,该状态可以理解为表征打印成功或失败的打印结果;客户端在接收到状态返回后,客户端将此值(打印结果)反馈到客户端的渲染界面中(即图3中的客户端渲染结果),提示商户打印成功。
119.本说明书提供的数据处理方法中,提供了一种基于跨平台并发驱动打印的软件开发,其中,该软件可跨平台安装,可应用于windows、mac、linux操作系统下安装,并且可驱动多台打印机同时打印。从而在应用于新商场打印场景下,该软件可驱动多台打印机同时打印,且具备跨平台安装打印的能力。进一步解决了在高效率、高频场景下,无法满足打印需要的问题。
120.与上述方法实施例相对应,本说明书还提供了数据处理实施例,图4示出了本说明书一个实施例提供的一种数据处理系统的结构示意图。如图4所示,所述系统包括打印处理模块402以及文件打印模块404,其中,
121.所述打印处理模块402,被配置为接收数据打印指令,其中,所述数据打印指令中携带有待打印数据的标识信息;根据所述待打印数据的标识信息获取所述待打印数据;确定与所述待打印数据相关联的目标打印模板,其中,所述目标打印模板基于对待处理打印模板进行调整获得;基于所述目标打印模板以及所述待打印数据生成待打印文件,并将所述待打印文件发送至文件打印模块404进行打印;
122.所述文件打印模块404,被配置为打印所述待打印文件。
123.可选地,所述系统包括数据提供模块,相应地,所述打印处理模块402,还被配置为:
124.基于所述待打印数据的标识信息生成数据获取请求,并将所述数据获取请求发送至数据提供模块;
125.接收所述数据提供模块响应于所述数据获取请求发送的待打印数据,其中,所述待打印数据为所述数据提供模块基于所述标识信息确定的数据。
126.可选地,所述打印处理模块402,还被配置为:
127.获取待验证信息,以及所述待打印数据的标识信息;
128.基于所述待验证信息以及所述标识信息生成数据获取请求,并将所述数据获取请求发送至数据提供模块;
129.接收所述数据提供模块响应于所述数据获取请求,对所述数据获取请求验证通过后,根据所述标识信息确定的待打印数据。
130.可选地,所述打印处理模块402,还被配置为:
131.接收针对待处理打印模板的模板调整请求,其中,所述模板调整请求中携带有模板调整信息;
132.基于所述模板调整信息对所述待处理打印模板进行调整,获得目标打印模板。
133.可选地,所述打印处理模块402,还被配置为:
134.确定所述待打印数据的数据类型信息;
135.基于所述数据类型信息,从待选择打印模板中选择与所述待打印数据相关联的目标打印模板。
136.可选地,所述系统包括打印请求模块,相应地,所述打印处理模块402,还被配置为:
137.接收打印请求模块发送的状态获取请求;
138.响应于所述状态获取请求将当前状态信息发送至所述打印请求模块;
139.接收所述打印请求模块发送的数据打印指令,其中,所述数据打印指令为所述打
印请求模块根据所述当前状态信息所发送的指令。
140.可选地,所述文件打印模块404为至少两个;
141.相应地,所述打印处理模块402,还被配置为:
142.获取至少两个文件打印模块中每个文件打印模块的当前状态信息;
143.基于所述当前状态信息从所述至少两个文件打印模块中,确定目标文件打印模块;
144.将所述待打印文件发送至所述目标文件打印模块进行打印。
145.可选地,所述打印处理模块402,还被配置为:
146.将所述待打印文件分批发送至所述目标文件打印模块进行打印。
147.可选地,所述系统包括打印请求模块,相应地,所述打印处理模块402,还被配置为:
148.将所述待打印文件平均分配至多个所述目标文件打印模块,以使多个所述目标文件打印模块进行打印。
149.本说明书提供的数据处理系统中,打印处理模块接收到数据打印指令的情况下,主动获取待打印数据,并在基于该待打印数据,以及相关联的目标打印模板生成待打印文件后,将该待打印文件发送至文件打印模块进行打印,从而避免了打印效率较低的问题,提供满足高效率、高频的打印场景下的打印需求的打印能力。
150.上述为本实施例的一种数据处理系统的示意性方案。需要说明的是,该数据处理系统的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理系统的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
151.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
152.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
153.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
154.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
155.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器
520执行时实现上述数据处理方法的步骤。
156.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
157.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
158.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
159.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
160.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
161.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
162.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
163.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
164.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
165.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献