CN108388409B - 打印请求处理方法、装置、计算机设备和存储介质 - Google Patents

打印请求处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN108388409B
CN108388409B CN201810124550.2A CN201810124550A CN108388409B CN 108388409 B CN108388409 B CN 108388409B CN 201810124550 A CN201810124550 A CN 201810124550A CN 108388409 B CN108388409 B CN 108388409B
Authority
CN
China
Prior art keywords
printing
request
print
file
task
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.)
Active
Application number
CN201810124550.2A
Other languages
English (en)
Other versions
CN108388409A (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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201810124550.2A priority Critical patent/CN108388409B/zh
Publication of CN108388409A publication Critical patent/CN108388409A/zh
Application granted granted Critical
Publication of CN108388409B publication Critical patent/CN108388409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1295Buffering means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本申请涉及一种打印请求处理方法、系统、计算机设备和存储介质。所述方法包括:通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求,并根据所述打印请求进行打印处理;将打印完成的文件进行存储。采用本方法首先通过负载均衡算法将打印请求均分至打印请求服务,可以保证系统的均衡处理,此外通过将打印请求进行缓存的步骤以及执行打印的步骤进行异步处理,可以保证打印的有序进行,提高打印效率。

Description

打印请求处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种打印请求处理方法、装置、计算机设备和存储介质。
背景技术
随着网络交易技术的发展,出现了线上合同打印技术,一般是由前端签订合同,然后发送到后端进行打印,从而可以在线上完成合同的签订,方便了用户,节省了时间。
然而,目前的打印传统方法,当打印任务量增加时,特别是超过了最大并发时,打印任务会产生积压,打印处理效率降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高打印效率的打印请求处理方法、装置、计算机设备和存储介质。
一种打印请求处理方法,所述方法包括:
通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;
通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;
通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求,并根据所述打印请求进行打印处理;
将打印完成的文件进行存储。
在其中一个实施例中,所述将打印完成的文件进行存储的步骤之后,还包括:
获取打印完成的文件的第一存储地址,并将所述第一存储地址存储至任务完成表中;
所述方法还包括:
通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将所述打印文件获取请求分配给相应的第二打印请求服务;
通过所述第二打印请求服务从所述任务完成表中获取与所述打印文件获取请求对应的第一存储地址;
将所获取到的与所述打印文件获取请求对应的第一存储地址返回至所述终端。
在其中一个实施例中,所述根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务的步骤,包括:
统计所接收到打印请求的第一数量;
根据所述打印请求的第一数量计算待开启的打印请求服务的第二数量;
开启与所述第二数量对应的打印请求服务,并将所述打印请求分配给相应的打印请求服务。
在其中一个实施例中,所述通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求的步骤,包括:
通过所述第一打印请求服务的第二进程获取所述任务缓存表中的任务的第三数量;
当所述第三数量大于预设值时,则获取所述第一打印请求服务的打印任务量峰值;
通过所述第一打印请求服务的第二进程根据所述打印任务量峰值从所述任务缓存表中获取打印请求。
在其中一个实施例中,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:
通过所述第一打印请求服务的第一进程获取所述打印请求对应的待打印文件的容量;
当所述容量大于预设容量时,则将所述待打印文件进行存储;
获取所述待打印文件的第二存储地址,并将所述第二存储地址与所述打印请求关联存储至任务缓存表中。
在其中一个实施例中,所述方法还包括:
当所述待打印文件打印完成时,则删除所存储的待打印文件。
在其中一个实施例中,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:
通过所述第一打印请求服务的第一进程获取所述打印请求的优先级;
根据所述打印请求的优先级将所述打印请求存储至任务缓存表的对应位置处。
一种打印请求处理装置,所述装置包括:
打印请求接收模块,用于通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;
任务缓存模块,用于通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;
打印模块,用于通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求,并根据所述打印请求进行打印处理,
存储模块,用于将打印完成的文件进行存储。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述打印请求处理方法、装置、计算机设备和存储介质,首先通过负载均衡算法将打印请求均分至打印请求服务,可以保证系统的均衡处理,此外通过将打印请求进行缓存的步骤以及执行打印的步骤进行异步处理,即通过打印请求服务的第一进程将打印请求存储至任务缓存表中,第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理,因此可以保证打印的有序进行,提高打印效率。
附图说明
图1为一个实施例中打印请求处理方法的应用场景图;
图2为一个实施例中打印请求处理方法的流程示意图;
图3为一实施例中打印请求分配步骤的示意图;
图4为一实施例中的异步步骤的示意图;
图5为一个实施例中打印请求处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的打印请求处理方法,可以应用于如图1所示的应用环境中。其中,终端通过网络与打印平台通过网络进行通信。其中终端可以设置多个,打印平台可以包括接收服务器、数台打印处理服务器以及共享数据库,其中接收服务器与终端之间的通信是基于标准HTTP协议进行的,接收服务器将接收到的终端发送的打印请求和打印文件获取请求通过异步方式进行处理,且对每个请求的处理均通过负载均衡算法进行,例如可以将打印请求通过负载均衡算法分配至某一打印处理服务器中,该接收服务器在主线程中将该打印请求分配给打印处理服务器,打印处理服务器通过第一进程将该打印请求存储至任务缓存表中,在第二进程从该任务缓冲表中获取到该打印请求进行打印,并将打印完成的文件存储在共享数据库中,以便于终端从该共享数据库获取到打印完成的文件。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种打印请求处理方法,以该方法应用于图1中的打印平台为例进行说明,包括以下步骤:
S202:通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将打印请求分配给相应的第一打印请求服务。
具体地,打印平台通过接收服务器接收终端发送的打印请求,该接收服务器与终端的通信是基于标准http协议进行的,并在接收服务器的主线程中根据负载均衡算法将打印请求分给相应的第一打印请求服务。
其中负载均衡算法是预先存储在接收服务器中,该负载均衡算法是可以将所接收的打印请求根据每个打印请求服务的当前处理状况分给相应的打印请求服务的。每个打印请求服务可以只对应一个打印处理服务器,或多个打印请求服务对应一个打印处理服务器。
S204:通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中。
具体地,打印请求服务通过异步的方式对该打印请求进行处理。例如可以通过不同的进行对该打印请求进行处理,即通过第一进程将该打印请求存储在任务缓存表中,通过第二进程从任务缓存表获取到该打印请求并进行打印,通过将打印请求预先存储,可以避免短时间内存在大量打印请求时,导致打印请求服务瘫痪。
其中任务缓存表可以是存储在共享数据库中的任务缓存表,其中在打印平台中的各个打印请求服务均可以从该任务缓存表中获取到打印请求。可选地该任务缓存表也可以是通过数据库的方式存在,例如oracle数据库等。
S206:通过第一打印请求服务的第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理。
具体地,第一打印请求服务在通过第一进程将打印请求存储在任务缓存表后,可以通过第二进程从该任务缓存表中获取一定数量的打印请求,例如可以根据打印请求服务的处理能力从该任务缓存表中实时获取相应数量的打印请求,并在处理完该批打印请求后,再重新从任务缓存表中获取打印请求,直至任务缓冲表中的打印请求均被处理完成。
S208:将打印完成的文件进行存储。
具体地,在打印请求服务通过第二线程将待打印文件打印完成后,可以将该打印完成的文件存储至共享数据库中,以便于终端从该共享数据库中获取到对应的打印完成的文件。
上述打印请求处理方法,首先通过负载均衡算法将打印请求均分至打印请求服务,可以保证系统的均衡处理,此外通过将打印请求进行缓存的步骤以及执行打印的步骤进行异步处理,即通过打印请求服务的第一进程将打印请求存储至任务缓存表中,第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理,因此可以保证打印的有序进行,提高打印效率。
在其中一个实施例中,将打印完成的文件进行存储的步骤之后,还可以包括:获取打印完成的文件的第一存储地址,并将第一存储地址存储至任务完成表中。该打印请求处理方法还可以包括:通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将打印文件获取请求分配给相应的第二打印请求服务;通过第二打印请求服务从任务完成表中获取与打印文件获取请求对应的第一存储地址;将所获取到的与打印文件获取请求对应的第一存储地址返回至终端。
具体地,在打印请求服务完成打印后,将该打印完成的文件进行存储,且为了方便,可以获取到该打印完成的文件的第一存储地址,并将该第一存储地址存储至任务完成表中。其中任务完成表可以是存储在共享数据库中的任务完成表,其中在打印平台中的各个打印请求服务均可以将已完成的打印请求存储在该表格中。可选地该任务完成表也可以是通过数据库的方式存在,例如oracle数据库等。其中为了实现任务缓存表与任务完成表中各个任务的识别,可以在该任务缓存表或任务完成表中对各个打印请求进行标识,例如可以通过ID的方式或者通过终端加任务标识的方式进行唯一地识别。
其中,为了避免短时间内存在大量的请求导致接收服务器瘫痪的情况的产生,该接收服务器可以是以服务器集群的方式存在的,且可以对接收服务器所接收的不同的请求进行分类处理,例如可以在主线程中接收打印请求,并通过负载均衡算法将该打印请求分配给不同的打印请求服务,并在异步线程中接收打印文件获取请求,并将打印文件获取请求通过负载均衡算法分配给不同的打印请求服务中,即通过异步方式对不同的请求进行分类处理。
其中,在异步线程中根据负载均衡算法将打印文件获取请求分配给相应的第二打印请求服务,该负载均衡算法可以与上文中分配打印请求的负载均衡算法相同。在第二打印请求服务中可以从上文中的任务完成表中获取到与打印文件获取请求对应的第一存储地址,并将该第一存储地址返回至对应的终端,这样可以减少数据传输量,从而降低打印平台的数据交互量。且终端在接收到该第一存储地址后,可以向共享服务器请求到相应的打印文件,从而完成打印。
其中,该共享数据库可以是NAS网络数据库,打印完成的文件为PDF文件,该共享数据库提供关于该PDF文件的存储目录。
在实际使用过程中,接收服务器在接收到该打印文件获取请求后,首先将该打印文件获取请求通过负载均衡算法分配给相应的第二打印请求服务,第二打印请求服务遍历任务成功表中是否存在与该打印请求服务对应的打印完完成的文件,如果存在,则获取到打印完成的文件在共享数据库中的第一存储地址,并将该第一存储地址返回至终端,以便于终端根据该第一存储地址获取到对应的打印完成的文件,如果不存在,则从任务缓冲表中查询该任务,即查询到对应的打印请求,并获取到该打印请求对应的任务状态,将该任务状态返回至终端,以便于终端可以实时了解到该打印请求的处理情况。
上述实施例中,将打印请求和打印文件获取请求进行异步处理,避免短时间内存在大量的请求导致接收服务器瘫痪的情况的产生,其仅将打印文件的第一存储地址返回至终端,可以减少终端与打印平台的交互量,进一步提高打印平台的处理效率。
在其中一个实施例中,该打印请求处理方法还包括一打印请求分配步骤,该打印请求分配步骤,即根据负载均衡算法将打印请求分配给相应的第一打印请求服务的步骤,可以包括:统计所接收到打印请求的第一数量;根据打印请求的第一数量计算待开启的打印请求服务的第二数量;开启与第二数量对应的打印请求服务,并将打印请求分配给相应的打印请求服务。
具体地,参见图3,图3为一实施例中打印请求分配步骤的示意图,其中接收服务器可以接收终端发送的打印请求,并根据打印请求的数量开启对应的打印请求服务,从而可以将该打印请求分配给所开启的打印请求服务中。
其中,在打印平台开启时,并不将所有的打印请求服务均开启,即并不开启所有打印请求处理服务器,而是根据打印请求的数量实现对打印请求服务的动态开启,例如可以首先获取到打印请求的数量,其中为当前未分配的打印请求的第一数量,当该第一数量的值大于预设值时,则对应启动对应数量的打印请求服务,例如开启第二数量个打印请求服务,然后将当前打印请求均分至对应的打印请求服务中。例如存在30个打印请求,则对应开启3个打印请求服务,然后每个打印请求服务处理10个打印请求,即每次负载均衡服务器可以将10个打印请求分配给对应的打印请求服务(例如打印请求处理服务器中)。可选地,还可以在打印平台启动时,即开启所有的打印请求服务,并将所接收的打印请求均分给每一个打印请求服务,在图3中所示的实施例中,每一个打印请求服务对应一台打印请求处理服务器,在将打印请求分配给对应的打印请求服务后,打印请求服务通过第一线程将打印请求存储至任务缓存表中,通过第二线程从该任务缓存表中获取到对应数量的打印请求,并进行打印,生成pdf。
上述实施例中,根据打印请求的数量开启对应的打印请求服务,实现了打印请求服务的动态启动,减少了系统资源的使用率,从而可以提高打印请求的处理效率。
在其中一个实施例中,该打印请求处理方法还可以包括一异步处理步骤,该异步处理步骤,即通过第一打印请求服务的第二进程从任务缓存表中获取打印请求的步骤,可以包括:通过第一打印请求服务的第二进程获取任务缓存表中的任务的第三数量;当第三数量大于预设值时,则获取第一打印请求服务的打印任务量峰值;通过第一打印请求服务的第二进程根据打印任务量峰值从任务缓存表中获取打印请求。
具体地,参见图4,图4为一实施例中的异步步骤的示意图,其中接收服务器在通过负载均衡算法将该打印请求分配给对应的打印请求服务后,该打印请求服务可以通过异步的方式处理该打印请求服务,即通过第一进程将该打印请求存储至任务缓存表中,并通过第二进程从该任务缓存表中获取到对应的打印请求并进行打印,其中为了避免第二进程与任务缓存表的交互频率过高,可以设置第二进程每次从任务缓存表中获取的打印请求的数量,例如可以根据每台打印处理服务器的处理能力以及打印峰值实时调整第二进程每次从任务缓存表中获取的打印请求的数量。
例如,其中可以通过第一打印请求服务的第二进程获取任务缓存表中的任务的第三数量,当任务缓存表中的任务的数量过多时,则每一个获取的数量也要相应地提高,例如可以设置梯度处理方式,当第三数量大于某一梯度的预设值时,则获取下一梯度的第一打印请求服务的打印任务量峰值,通过第一打印请求服务的第二进程根据打印任务量峰值从任务缓存表中获取打印请求,例如可以根据打印任务峰值获取相应数量的打印请求,获取的打印请求的数量等于打印任务峰值,或者获取的打印请求的数量为该打印任务等值的90%、80%、75%等,在此不作具体的限制,可以根据情况进行适当地调整。
上述实施例中,可以根据每个打印请求服务,即每台打印处理服务器的处理能力以及打印峰值实时调整每个批次处理任务的数量,例如可以首先获取到任务缓存表中剩余的打印任务的数量,当剩余打印任务的数量大于预设等级阈值时,则根据该等级获取打印处理服务器的处理力能以及打印峰值,根据该等级获取打印处理服务器的处理力能以及打印峰值调整当前打印处理服务器的打印线程的数量,以提高当前打印处理服务器的打印效率。
在其中一个实施例中,通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求对应的待打印文件的容量;当容量大于预设容量时,则将待打印文件进行存储;获取待打印文件的第二存储地址,并将第二存储地址与打印请求关联存储至任务缓存表中。
具体地,为了减少任务缓存表的大小,可以在通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中时,可以获取到待打印文件的容量,即待打印文件的大小,当待打印文件的大小大于预设值时,则将待打印文件存储至共享数据库中,并获取该待打印文件的第二存储地址,将该第二存储地址和打印请求关联存储至任务缓存表中,这样可以减少任务缓存表的大小,从而可以提高任务缓存表存储打印请求的数量。
其中,该打印文件的容量,即待打印文件的大小,待打印文件一般为xml文件,打印完成的文件为pdf文件,且一般情况下该XML文件仅指带签名图片字符串的参数请求,其中存储该待打印文件的共享数据库可以与存储打印完成的文件的共享数据库不同,但其可以为NAS网络存储数据库。
上述实施例中,判断打印请求对应的打印文件的大小是否大于预设大小,如果是,则将该打印文件存储至NAS中,并将对应的NAS中的第二存储地址返回,以便于存储到对应的任务缓存表中,这样可以减少任务缓存表的大小,以提高任务缓存表的存储能力;从而在执行打印的时候,可以根据任务缓存表中的该存储地址,从NAS中获取到对应的待打印文件,例如XML文件,将该XML文件进行打印。
在其中一个实施例中,该打印请求处理方法还可以包括:当待打印文件打印完成时,则删除所存储的待打印文件。
具体地,为了提高共享数据库的存储能力,防止数据库控件存储满后,无法进行存储,从而导致系统瘫痪,可以对数据库进行检测,当存储空间达到预设值时,则删除已经打印的冗余文件,从而提高处理效率,例如可以实时检测NAS中存储的打印文件,并将已经打印成功的打印文件从NAS中删除,即删除xml文件,只保留最终打印的pdf文件即可,可以实时将NAS中的冗余文档清除,防止NAS存储空间满后,无法进行存储,从而导致系统瘫痪。
上述实施例中,将已经打印成功的打印文件从NAS中删除,即删除xml文件,只保留最终打印的pdf文件即可,可以实时将NAS中的冗余文档清除,防止NAS存储空间满后,无法进行存储,从而导致系统瘫痪。
在其中一个实施例中,通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求的优先级;根据打印请求的优先级将打印请求存储至任务缓存表的对应位置处。
具体地,终端中存在优先的打印请求,即针对重要客户的合同等需要优先处理,此时,如果任务缓存表中存在大量的打印请求,则会导致该重要客户的打印请求滞后处理,为了避免该种情况的发生,终端所发送的打印请求可以携带有优先级标签,从而第一打印请求服务的第一进程在将该打印请求存储至任务缓存表时,可以首先获取到该优先级标签,根据该优先级标签将该打印请求插入到该任务缓存表的对应的位置处,以实现对该打印请求的优先处理。
上述实施例中,可以对打印请求进行优先级的划分,即可以根据打印请求所携带的打印标识来确定打印的优先级,在将打印请求向任务缓存表中存储的时候,将优先级高的打印请求存储在任务缓存表的前面,例如,可以在入表的时候,首先判断打印请求与任务缓存表中的打印请求的优先级,从而可以将打印请求存储到对应优先级的位置处,在其他实施例中还可以根据时间先后顺序进行排序,以便于处理。
上述的打印请求处理方法可以降低资源争抢弊端,提升整体处理效率。提升系统抗压能力,保证系统在业务量高峰期可正常运行。随着并发任务量继续增大,PDF转换服务吞吐量不因并发增大而降低。并发数超过处理极限时,由于F5的任务均衡分配控制,吞吐量会呈动态稳定状态。增加转换服务器,可以有效提高吞吐量,受其他公共资源局限影响小。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种打印请求处理装置,包括:打印请求接收模块100、任务缓存模块200、打印模块300和存储模块400,其中:
打印请求接收模块100,用于通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将打印请求分配给相应的第一打印请求服务。
任务缓存模块200,用于通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中。
打印模块300,用于通过第一打印请求服务的第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理。
存储模块400,用于将打印完成的文件进行存储。
在其中一个实施例中,装置还可以包括:
第一存储地址存储模块,用于获取打印完成的文件的第一存储地址,并将第一存储地址存储至任务完成表中。
文件获取请求接收模块,用于通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将打印文件获取请求分配给相应的第二打印请求服务。
第一存储地址获取模块,用于通过第二打印请求服务从任务完成表中获取与打印文件获取请求对应的第一存储地址。
输出模块,用于将所获取到的与打印文件获取请求对应的第一存储地址返回至终端。
在其中一个实施例中,打印请求接收模块100可以包括:
统计单元,用于统计所接收到打印请求的第一数量。
计算单元,用于根据打印请求的第一数量计算待开启的打印请求服务的第二数量。
分配单元,用于开启与第二数量对应的打印请求服务,并将打印请求分配给相应的打印请求服务。
在其中一个实施例中,打印模块300可以包括:
第三数量获取单元,用于通过第一打印请求服务的第二进程获取任务缓存表中的任务的第三数量。
打印任务量峰值获取单元,用于当第三数量大于预设值时,则获取第一打印请求服务的打印任务量峰值。
打印单元,用于通过第一打印请求服务的第二进程根据打印任务量峰值从任务缓存表中获取打印请求。
在其中一个实施例中,任务缓存模块200可以包括:
容量获取单元,用于通过第一打印请求服务的第一进程获取打印请求对应的待打印文件的容量。
文件存储单元,用于当容量大于预设容量时,则将待打印文件进行存储。
打印单元,用于获取待打印文件的第二存储地址,并将第二存储地址与打印请求关联存储至任务缓存表中。
在其中一个实施例中,装置还可以包括:删除模块,用于当待打印文件打印完成时,则删除所存储的待打印文件。
在其中一个实施例中,任务缓存模块200可以包括:
优先级获取单元,用于通过第一打印请求服务的第一进程获取打印请求的优先级。
存储单元,用于根据打印请求的优先级将打印请求存储至任务缓存表的对应位置处。
关于打印请求处理装置的具体限定可以参见上文中对于打印请求处理方法的限定,在此不再赘述。上述打印请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储打印请求、打印文件获取请求、待打印文件以及打印完成的文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种打印请求处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将打印请求分配给相应的第一打印请求服务;通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中;通过第一打印请求服务的第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理,将打印完成的文件进行存储。
在一个实施例中,处理器执行计算机程序时所实现的将打印完成的文件进行存储的步骤之后,还可以包括:获取打印完成的文件的第一存储地址,并将第一存储地址存储至任务完成表中;处理器执行计算机程序时还实现以下步骤:通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将打印文件获取请求分配给相应的第二打印请求服务;通过第二打印请求服务从任务完成表中获取与打印文件获取请求对应的第一存储地址;将所获取到的与打印文件获取请求对应的第一存储地址返回至终端。
在一个实施例中,处理器执行计算机程序时所实现的根据负载均衡算法将打印请求分配给相应的第一打印请求服务的步骤,包括:统计所接收到打印请求的第一数量;根据打印请求的第一数量计算待开启的打印请求服务的第二数量;开启与第二数量对应的打印请求服务,并将打印请求分配给相应的打印请求服务。
在一个实施例中,处理器执行计算机程序时所实现的通过第一打印请求服务的第二进程从任务缓存表中获取打印请求的步骤,可以包括:通过第一打印请求服务的第二进程获取任务缓存表中的任务的第三数量;当第三数量大于预设值时,则获取第一打印请求服务的打印任务量峰值;通过第一打印请求服务的第二进程根据打印任务量峰值从任务缓存表中获取打印请求。
在一个实施例中,处理器执行计算机程序时所实现的通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求对应的待打印文件的容量;当容量大于预设容量时,则将待打印文件进行存储;获取待打印文件的第二存储地址,并将第二存储地址与打印请求关联存储至任务缓存表中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当待打印文件打印完成时,则删除所存储的待打印文件。
在一个实施例中,处理器执行计算机程序时所实现的通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求的优先级;根据打印请求的优先级将打印请求存储至任务缓存表的对应位置处。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将打印请求分配给相应的第一打印请求服务;通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中;通过第一打印请求服务的第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理,将打印完成的文件进行存储。
在一个实施例中,计算机程序被处理器执行时所实现的将打印完成的文件进行存储的步骤之后,还可以包括:获取打印完成的文件的第一存储地址,并将第一存储地址存储至任务完成表中;处理器执行计算机程序时还实现以下步骤:通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将打印文件获取请求分配给相应的第二打印请求服务;通过第二打印请求服务从任务完成表中获取与打印文件获取请求对应的第一存储地址;将所获取到的与打印文件获取请求对应的第一存储地址返回至终端。
在一个实施例中,计算机程序被处理器执行时所实现的根据负载均衡算法将打印请求分配给相应的第一打印请求服务的步骤,包括:统计所接收到打印请求的第一数量;根据打印请求的第一数量计算待开启的打印请求服务的第二数量;开启与第二数量对应的打印请求服务,并将打印请求分配给相应的打印请求服务。
在一个实施例中,计算机程序被处理器执行时所实现的通过第一打印请求服务的第二进程从任务缓存表中获取打印请求的步骤,可以包括:通过第一打印请求服务的第二进程获取任务缓存表中的任务的第三数量;当第三数量大于预设值时,则获取第一打印请求服务的打印任务量峰值;通过第一打印请求服务的第二进程根据打印任务量峰值从任务缓存表中获取打印请求。
在一个实施例中,计算机程序被处理器执行时所实现的通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求对应的待打印文件的容量;当容量大于预设容量时,则将待打印文件进行存储;获取待打印文件的第二存储地址,并将第二存储地址与打印请求关联存储至任务缓存表中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当待打印文件打印完成时,则删除所存储的待打印文件。
在一个实施例中,计算机程序被处理器执行时所实现的通过第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,可以包括:通过第一打印请求服务的第一进程获取打印请求的优先级;根据打印请求的优先级将打印请求存储至任务缓存表的对应位置处。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种打印请求处理方法,所述方法包括:
通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;
通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;
通过所述第一打印请求服务的处理能力,通过第二进程从所述任务缓存表中实时获取对应数量的一批打印请求,并根据所述打印请求进行打印处理;
将打印完成的文件进行存储;
所述将打印完成的文件进行存储的步骤之后,还包括:
获取打印完成的文件的第一存储地址,并将所述第一存储地址存储至任务完成表中;
所述方法还包括:
通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将所述打印文件获取请求分配给相应的第二打印请求服务;
通过所述第二打印请求服务从所述任务完成表中获取与所述打印文件获取请求对应的第一存储地址;
将所获取到的与所述打印文件获取请求对应的第一存储地址返回至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务的步骤,包括:
统计所接收到打印请求的第一数量;
根据所述打印请求的第一数量计算待开启的打印请求服务的第二数量;
开启与所述第二数量对应的打印请求服务,并将所述打印请求分配给相应的打印请求服务。
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求的步骤,包括:
通过所述第一打印请求服务的第二进程获取所述任务缓存表中的任务的第三数量;
当所述第三数量大于预设值时,则获取所述第一打印请求服务的打印任务量峰值;
通过所述第一打印请求服务的第二进程根据所述打印任务量峰值从所述任务缓存表中获取打印请求。
4.根据权利要求1或2所述的方法,其特征在于,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:
通过所述第一打印请求服务的第一进程获取所述打印请求对应的待打印文件的容量;
当所述容量大于预设容量时,则将所述待打印文件进行存储;
获取所述待打印文件的第二存储地址,并将所述第二存储地址与所述打印请求关联存储至任务缓存表中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述待打印文件打印完成时,则删除所存储的待打印文件。
6.根据权利要求1或2所述的方法,其特征在于,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:
通过所述第一打印请求服务的第一进程获取所述打印请求的优先级;
根据所述打印请求的优先级将所述打印请求存储至任务缓存表的对应位置处。
7.一种打印请求处理装置,其特征在于,所述装置包括:
打印请求接收模块,用于通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;
任务缓存模块,用于通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;
打印模块,用于通过所述第一打印请求服务的处理能力,通过第二进程从所述任务缓存表中实时获取对应数量的一批打印请求,并根据所述打印请求进行打印处理,
存储模块,用于将打印完成的文件进行存储;
第一存储地址存储模块,用于获取打印完成的文件的第一存储地址,并将所述第一存储地址存储至任务完成表中;
文件获取请求接收模块,用于通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将所述打印文件获取请求分配给相应的第二打印请求服务;
第一存储地址获取模块,用于通过所述第二打印请求服务从所述任务完成表中获取与所述打印文件获取请求对应的第一存储地址;
输出模块,用于将所获取到的与所述打印文件获取请求对应的第一存储地址返回至所述终端。
8.根据权利要求7所述的装置,其特征在于,所述打印请求接收模块包括:
统计单元,用于统计所接收到打印请求的第一数量;
计算单元,用于根据所述打印请求的第一数量计算待开启的打印请求服务的第二数量;
分配单元,用于开启与所述第二数量对应的打印请求服务,并将所述打印请求分配给相应的打印请求服务。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201810124550.2A 2018-02-07 2018-02-07 打印请求处理方法、装置、计算机设备和存储介质 Active CN108388409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810124550.2A CN108388409B (zh) 2018-02-07 2018-02-07 打印请求处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810124550.2A CN108388409B (zh) 2018-02-07 2018-02-07 打印请求处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108388409A CN108388409A (zh) 2018-08-10
CN108388409B true CN108388409B (zh) 2021-06-22

Family

ID=63075563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810124550.2A Active CN108388409B (zh) 2018-02-07 2018-02-07 打印请求处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108388409B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874195B (zh) * 2018-11-22 2023-07-28 安天科技集团股份有限公司 一种打印语言识别方法、装置、电子设备、存储介质
CN111444225B (zh) * 2020-03-27 2024-03-26 中国人民银行清算总中心 通用指标解析方法及装置
CN115495031B (zh) * 2022-09-30 2023-07-18 深圳民航凯亚有限公司 一种实现全自动无人值守行程单连续打印的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661542A (zh) * 2004-02-23 2005-08-31 德鑫科技股份有限公司 动态调整打印作业的系统及其方法
CN1766851A (zh) * 2004-10-30 2006-05-03 惠普开发有限公司 用于数据存储区管理的系统及方法
CN102799399A (zh) * 2012-07-03 2012-11-28 青岛海信传媒网络技术有限公司 网络打印方法及网络打印机
CN103559001A (zh) * 2013-09-25 2014-02-05 艾塔斯科技(镇江)有限公司 一种网络打印系统和用于网络打印系统的打印方法
CN106940631A (zh) * 2017-05-09 2017-07-11 广东工业大学 一种基于控制器的并行打印系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5415750B2 (ja) * 2008-11-28 2014-02-12 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、並びに、情報処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661542A (zh) * 2004-02-23 2005-08-31 德鑫科技股份有限公司 动态调整打印作业的系统及其方法
CN1766851A (zh) * 2004-10-30 2006-05-03 惠普开发有限公司 用于数据存储区管理的系统及方法
CN102799399A (zh) * 2012-07-03 2012-11-28 青岛海信传媒网络技术有限公司 网络打印方法及网络打印机
CN103559001A (zh) * 2013-09-25 2014-02-05 艾塔斯科技(镇江)有限公司 一种网络打印系统和用于网络打印系统的打印方法
CN106940631A (zh) * 2017-05-09 2017-07-11 广东工业大学 一种基于控制器的并行打印系统

Also Published As

Publication number Publication date
CN108388409A (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN107832126B (zh) 一种线程的调整方法及其终端
US11442790B2 (en) Resource scheduling system, method and server for ensuring high availability of services
CN107800768B (zh) 开放平台控制方法和系统
CN111651285A (zh) 批量业务数据处理方法、装置、计算机设备和存储介质
US11768706B2 (en) Method, storage medium storing instructions, and apparatus for implementing hardware resource allocation according to user-requested resource quantity
CN108388409B (zh) 打印请求处理方法、装置、计算机设备和存储介质
CN110597858A (zh) 任务数据处理方法、装置、计算机设备和存储介质
CN111225050B (zh) 云计算资源分配方法及装置
CN110704177B (zh) 计算任务处理方法、装置、计算机设备和存储介质
CN109889401B (zh) 流量统计方法、装置、计算机设备和存储介质
CN105791254B (zh) 网络请求处理方法、装置及终端
CN108052553B (zh) 电子手册生成的方法、装置、计算机设备及存储介质
CN110489227B (zh) 一种资源分配方法、装置、计算机设备和存储介质
CN109587220B (zh) 负载均衡方法、装置、计算机设备和存储介质
CN111490963B (zh) 基于quic协议栈的数据处理方法、系统、设备及存储介质
CN110943934A (zh) 服务请求处理方法、系统、终端及可读存储介质
CN110995617B (zh) 基于mqtt的数据报送方法、装置、计算机设备和存储介质
CN110659131A (zh) 任务处理方法、电子装置、计算机设备及存储介质
CN113810433A (zh) 文件上传方法、装置和计算机设备
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN111260253A (zh) 信息发送方法、装置、计算机设备及存储介质
CN116185623A (zh) 任务分配方法、装置、电子设备及存储介质
CN113327053A (zh) 任务处理方法及装置
CN116881003A (zh) 资源分配方法、装置、服务设备及存储介质
CN110545336A (zh) Ip地址替换方法、装置、计算机设备和存储介质

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