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

文档序号:15143615发布日期:2018-08-10 20:11阅读:156来源:国知局

本申请涉及计算机技术领域,特别是涉及一种打印请求处理方法、装置、计算机设备和存储介质。



背景技术:

随着网络交易技术的发展,出现了线上合同打印技术,一般是由前端签订合同,然后发送到后端进行打印,从而可以在线上完成合同的签订,方便了用户,节省了时间。

然而,目前的打印传统方法,当打印任务量增加时,特别是超过了最大并发时,打印任务会产生积压,打印处理效率降低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高打印效率的打印请求处理方法、装置、计算机设备和存储介质。

一种打印请求处理方法,所述方法包括:

通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;

通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;

通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求,并根据所述打印请求进行打印处理;

将打印完成的文件进行存储。

在其中一个实施例中,所述将打印完成的文件进行存储的步骤之后,还包括:

获取打印完成的文件的第一存储地址,并将所述第一存储地址存储至任务完成表中;

所述方法还包括:

通过接收服务器接收终端发送的打印文件获取请求,并在异步线程中将所述打印文件获取请求分配给相应的第二打印请求服务;

通过所述第二打印请求服务从所述任务完成表中获取与所述打印文件获取请求对应的第一存储地址;

将所获取到的与所述打印文件获取请求对应的第一存储地址返回至所述终端。

在其中一个实施例中,所述根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务的步骤,包括:

统计所接收到打印请求的第一数量;

根据所述打印请求的第一数量计算待开启的打印请求服务的第二数量;

开启与所述第二数量对应的打印请求服务,并将所述打印请求分配给相应的打印请求服务。

在其中一个实施例中,所述通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求的步骤,包括:

通过所述第一打印请求服务的第二进程获取所述任务缓存表中的任务的第三数量;

当所述第三数量大于预设值时,则获取所述第一打印请求服务的打印任务量峰值;

通过所述第一打印请求服务的第二进程根据所述打印任务量峰值从所述任务缓存表中获取打印请求。

在其中一个实施例中,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:

通过所述第一打印请求服务的第一进程获取所述打印请求对应的待打印文件的容量;

当所述容量大于预设容量时,则将所述待打印文件进行存储;

获取所述待打印文件的第二存储地址,并将所述第二存储地址与所述打印请求关联存储至任务缓存表中。

在其中一个实施例中,所述方法还包括:

当所述待打印文件打印完成时,则删除所存储的待打印文件。

在其中一个实施例中,所述通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中的步骤,包括:

通过所述第一打印请求服务的第一进程获取所述打印请求的优先级;

根据所述打印请求的优先级将所述打印请求存储至任务缓存表的对应位置处。

一种打印请求处理装置,所述装置包括:

打印请求接收模块,用于通过接收服务器接收终端发送的打印请求,并在主线程中根据负载均衡算法将所述打印请求分配给相应的第一打印请求服务;

任务缓存模块,用于通过所述第一打印请求服务的第一进程将打印请求存储至任务缓存表中;

打印模块,用于通过所述第一打印请求服务的第二进程从所述任务缓存表中获取打印请求,并根据所述打印请求进行打印处理,

存储模块,用于将打印完成的文件进行存储。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

上述打印请求处理方法、装置、计算机设备和存储介质,首先通过负载均衡算法将打印请求均分至打印请求服务,可以保证系统的均衡处理,此外通过将打印请求进行缓存的步骤以及执行打印的步骤进行异步处理,即通过打印请求服务的第一进程将打印请求存储至任务缓存表中,第二进程从任务缓存表中获取打印请求,并根据打印请求进行打印处理,因此可以保证打印的有序进行,提高打印效率。

附图说明

图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)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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