CN110673931A - 单证合成的分布式计算方法、单证合成系统及其控制装置 - Google Patents
单证合成的分布式计算方法、单证合成系统及其控制装置 Download PDFInfo
- Publication number
- CN110673931A CN110673931A CN201910841570.6A CN201910841570A CN110673931A CN 110673931 A CN110673931 A CN 110673931A CN 201910841570 A CN201910841570 A CN 201910841570A CN 110673931 A CN110673931 A CN 110673931A
- Authority
- CN
- China
- Prior art keywords
- document
- request
- synthesis
- processing
- control device
- 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.)
- Pending
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 190
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 190
- 238000004364 calculation method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 195
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007958 sleep Effects 0.000 claims description 6
- 208000033748 Device issues Diseases 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 238000005287 template synthesis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Abstract
本发明提供了一种单证合成的分布式计算方法、单证合成系统及其控制装置。单证合成系统执行单证合成的分布式计算方法,单证合成系统包括控制装置和多个处理装置,该单证合成的分布式计算方法包括:控制装置接收请求端发起的单证合成请求,其中,单证合成请求包括待合成的多个单证的入参;控制装置为单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端;控制装置在多个处理装置中选定部分处理装置执行单证合成业务;被选定的处理装置处理单证的入参,以合成单证;以及控制装置将合成的单证以消息的方式发送至请求端。通过本发明,能够更加合理利用单证合成请求端以及单证合成系统的资源。
Description
技术领域
本发明涉及单证合成处理技术领域,尤其涉及一种单证合成的分布式计算方法、单证合成系统及其控制装置。
背景技术
现有技术中,在业务的处理流程中,经常会遇到某一业务节点需要向客户提供多份单证,单证具体包括一些回执、合同、业务确认单、业务办理单等等。此时,业务终端向单证合成系统发送单证合成请求,单证合成系统响应该单证合成请求时,一般会顺序的合成这些单证,然后将合成结果作为单证合成请求的响应,返回至业务终端。
针对上述业务处理的流程,发明人进一步研究发现:一方面,业务终端需要等待单证合成系统多份单证的合成才可释放单证合成请求占用的资源,使得业务终端的资源占用时间较长,影响业务终端一侧资源的利用率。例如,如果有10份单证需要合成,每份单证消耗2秒钟,那么业务终端需要占用资源20秒;另一方面,单证合成系统在合成多个单证时,所消耗的系统资源较大,特别是系统接收到多个合成请求后,很容易将系统资源耗尽,导致系统没有资源响应非合成单证的请求。
因此,提供一种单证合成的分布式计算方法、单证合成系统及其控制装置,以更加合理利用单证合成请求端以及单证合成系统的资源,成为本领域亟需解决的技术问题。
发明内容
本发明的目的是提供一种单证合成的分布式计算方法、单证合成系统及其控制装置,用于解决现有技术中存在的上述技术问题。
一方面,为实现上述目的,本发明提供了一种单证合成的分布式计算方法。
单证合成系统执行单证合成的分布式计算方法,单证合成系统包括控制装置和多个处理装置,该单证合成的分布式计算方法包括:控制装置接收请求端发起的单证合成请求,其中,单证合成请求包括待合成的多个单证的入参;控制装置为单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端;控制装置在多个处理装置中根据预设规则确定执行单证合成业务的处理装置;被选定的处理装置处理单证的入参,以合成单证;以及控制装置根据请求编号将合成的单证以消息的方式发送至请求端。
进一步地,单证合成的分布式计算方法还包括:控制装置接收请求端发起的单证合成请求之后,为单证的入参分配单证编号;控制装置为单证合成请求分配请求编号之后,将单证编号和请求编号的对应关系存储至内存数据库的数据记录中;被选定的处理装置处理单证的入参,以合成单证之后,将合成的单证存储至单证库,将处理状态对应单证编号存储至数据记录中,其中,处理状态包括处理成功和处理失败;控制装置根据请求编号将合成的单证以消息的方式发送至请求端具体为:控制装置在内存数据库中读取数据记录,得到对应请求编号的各个单证编号的处理状态,然后在单证库中获取处理成功的单证编号的单证,将读取到的处理状态和获取到的单证以消息的方式发送至请求端。
进一步地,在控制装置为单证合成请求分配请求编号之后,该方法还包括:控制装置将每个单证的入参分别封装为一个对象,并将所有对象存储至内存数据库的缓存队列中;被选定的处理装置处理单证的入参具体为:被选定的处理装置启动若干线程,每个线程启动后,从缓存队列中读取一个对象进行处理。
进一步地,当线程无法从缓存队列中获取到对象时,线程自动休眠预设时间后再次启动。
进一步地,单证的入参包括单证类型标识,处理装置设置有用于合成单证且与单证类型标识相对应的HTML模板,被选定的处理装置处理单证的入参,以合成单证具体为:被选定的处理装置根据单证的入参中的单证类型标识获取HTML模板,利用单证的入参对应替换HTML模板中的参数,得到HTML单证,再将HTML单证转化为PDF单证,存储至单证库。
进一步地,控制装置根据请求编号将合成的单证以消息的方式发送至请求端具体为:控制装置将合成的单证以及单证所属的请求编号发布至消息中转站,其中,请求端订阅消息中转站的消息,以根据请求编号获取单证。
另一方面,为实现上述目的,本发明提供了一种单证合成系统。
该单证合成系统包括控制装置和多个处理装置,其中:控制装置用于接收请求端发起的单证合成请求,为单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端,在多个处理装置中根据预设规则确定执行单证合成业务的处理装置,其中,单证合成请求包括待合成的多个单证的入参;被选定的处理装置用于处理单证的入参,以合成单证;控制装置还用于根据请求编号将合成的单证以消息的方式发送至请求端。
再一方面,为实现上述目的,本发明提供了一种单证合成系统的控制装置。
单证合成系统包括控制装置和多个处理装置,其中,控制装置包括:接收模块,用于接收请求端发起的单证合成请求,其中,单证合成请求包括待合成的多个单证的入参;分配模块,用于为单证合成请求分配请求编号;第一发送模块,用于将请求编号作为单证合成请求的响应返回至请求端;选择模块,用于在多个处理装置中根据预设规则确定执行单证合成业务的处理装置,其中,被选定的处理装置用于处理单证的入参,以合成单证;第二发送模块,用于根据请求编号将合成的单证以消息的方式发送至请求端。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的单证合成的分布式计算方法、单证合成系统及其控制装置,单证合成系统包括控制装置和多个处理装置,其中,控制装置在接收到单证合成请求后,先分配对应单证合成请求的请求编号,并将请求编号作为单证合成请求的响应返回至请求端,因此,作为请求端,能够快速释放单证合成请求占用的资源;同时,控制装置根据预设规则确定执行单证合成业务的处理装置,使得一部分处理装置能够执行单证合成业务,另一部分从处理装置能够响应其他请求,特别是控制装置接收到多个单证合成请求,和/或针对每个单证合成请求需要合成多个单证时,避免了全部处理装置被占用而无法处理其他请求。处理装置合成单证后,控制装置再根据请求编号将单证以消息的方式发送至请求端,请求端最终仍然能够在单证合成系统合成所有的单证之后,得到单证。与现有技术相比,在处理资源量相同的条件下,请求端能够更快的释放单证合成请求占用的资源,同时避免处理资源被执行单证合成业务全部占用而影响其他响应请求。
附图说明
图1为本发明实施例一提供的单证合成的分布式计算方法的流程图;
图2为本发明实施例二提供的单证合成的分布式计算方法的流程图;
图3为本发明实施例三提供的单证合成的分布式计算方法的流程图;
图4为本发明实施例五提供的单证合成系统的框图;
图5为本发明实施例六提供的单证合成系统的控制装置的框图;
图6为本发明实施例七提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种单证合成的分布式计算方法、单证合成系统及其控制装置、计算机设备和计算机可读存储介质。在本发明中,通过该单证合成系统实现单证合成的分布式计算方法,具体地,单证合成系统包括控制装置和多个处理装置,控制装置提供接收单证合成请求的接口,接收请求端发起的单证合成请求,其中,该单证合成请求可以针对多个单证的合成,具体为包括待合成的多个单证的入参;控制装置为接收到的单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端,请求端接收到该响应后,即可释放资源,无需等待单证合成系统处理完所有的单证的入参,同时,控制装置根据预设规则确定执行单证合成业务的处理装置,被选定的处理装置处理单证的入参,以合成单证,未被选定的处理装置还可执行单证合成业务之外的业务,避免单证合成系统没有资源响应非合成单证的请求,控制装置最后根据请求编号将合成的单证以消息的方式发送至请求端,请求端获得单证。
关于本发明提供的单证合成的分布式计算方法、单证合成系统及其控制装置、计算机设备和计算机可读存储介质的具体实施例,将在下文中详细描述。
实施例一
本发明实施例提供了一种单证合成的分布式计算方法,单证合成系统执行单证合成的分布式计算方法,该单证合成系统包括控制装置和多个处理装置,控制装置实现单证合成流程方面的控制,包括提供接收请求端单证合成请求的接口,向请求端反馈单证合成请求的响应,选定处理装置进行单证合成,以及最终将合成的单证反馈至请求端。通过该方法,既能够避免单证请求端中的资源被单证合成请求长时间占用,又避免单证合成系统的全部资源被合成单证耗尽时,无法响应非合成单证的请求。具体地,图1为本发明实施例一提供的单证合成的分布式计算方法的流程图,如图1所示,该实施例提供的单证合成的分布式计算方法包括如下的步骤S101至步骤S105。
步骤S101:控制装置接收请求端发起的单证合成请求。
其中,控制装置提供单证合成请求的接收接口,请求端调用该接口时,将单证合成请求发送至控制装置,其中,请求端可以为用户终端设备,例如手机、IPAD、PC设备端等,也可以为服务器设备,请求端在业务处理的过程中,需要合成单证时,生成一单证合成请求,该单证合成请求可包括待合成的多个单证的入参,每个单证的入参可包括若干参数,具体依实际单证的内容而定。单证具体包括业务回执、业务合同、业务确认单以及业务办理单等单证。
步骤S102:控制装置为单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端。
控制装置在接收到单证合成请求后,首先为单证合成请求分配请求编号,该请求编号为全局唯一参数,能够唯一标识一个单证合成请求,并且将请求编号作为单证合成请求的响应返回至请求端,作为请求端,在接收到单证合成请求的响应后,标志一次单证合成请求,可将单证合成请求所占用的资源释放。而单证合成系统实际上并没有合成单证,仅仅是执行了为单证合成请求分配请求编号的逻辑,相对合成单证,特别是合成多个单证后再去返回响应至请求端时,大大减小了请求端等待单证合成请求响应而是单证合成请求占用资源的时间,因此,对于请求端而言,能够更加合理的利用资源。
步骤S103:控制装置在多个处理装置中根据预设规则确定执行单证合成业务的处理装置。
单证合成系统中的处理资源被划分为多个处理装置,该多个处理装置可以为系统中的多个机器,也即,每个处理装置对应一个机器;或者也可以为一个机器中的多个处理资源单元,每个处理装置对应一个处理资源单元,本申请对处理装置的物理逻辑层面并不进行限定。
控制装置在多个处理装置中根据预设规则确定执行单证合成业务的处理装置时,具体地,根据接收到的单证合成请求中包括的单证的入参数量,也即需要合成的单证的数量,来自动动态调整执行单证合成业务的处理装置的占比,同时,设置不执行单证合成业务的处理装置占整个处理装置的最低阈值,例如,单证的入参数量越多,相应地,执行单证合成业务的处理装置的数量占比越高,但占比最大不超过80%。
单证合成系统中仍有部分处于不执行单证合成业务的处理装置,这部分处理装置不会受到单证合成请求的影响,保证这部分资源可正常响应其他请求。
步骤S104:被选定的处理装置处理单证的入参,以合成单证。
处理装置被选定为执行单证合成业务的装置后,获取单证的入参,调用预设的合成资源实现单证的合成。
步骤S105:控制装置根据请求编号将合成的单证以消息的方式发送至请求端。
处理装置合成单证后,控制装置将单证作为消息内容,以消息的方式将单证发送至请求端,可选地,在单证合成系统与请求端之间设置消息中转站,请求端订阅消息中转站的消息,控制装置将合成的单证以及单证所属的请求编号发布至消息中转站,请求端能够获取到订阅消息中转站的消息,因此,请求端可根据前述接收到的请求编号,在消息中转站中获取到请求编号对应的单证,从而实现了单证的获取。
采用该实施例提供的单证合成的分布式计算方法,单证合成系统包括控制装置和多个处理装置,其中,控制装置在接收到单证合成请求后,先分配对应单证合成请求的请求编号,并将请求编号作为单证合成请求的响应返回至请求端,因此,作为请求端,能够快速释放单证合成请求占用的资源;同时,控制装置根据预设规则确定执行单证合成业务的处理装置,使得一部分处理装置能够执行单证合成业务,另一部分从处理装置能够响应其他请求,特别是控制装置接收到多个单证合成请求,和/或针对每个单证合成请求需要合成多个单证时,避免了全部处理装置被占用而无法处理其他请求。处理装置合成单证后,控制装置再将单证以消息的方式发送至请求端,请求端最终仍然能够在单证合成系统合成所有的单证之后,得到单证。与现有技术相比,在处理资源量相同的条件下,请求端能够更快的释放单证合成请求占用的资源,同时避免处理资源被执行单证合成业务全部占用而影响其他响应请求。
实施例二
本发明实施例二提供了一种优选地单证合成的分布式计算方法,该单证合成的分布式计算方法的部分步骤与上述实施例一中的步骤对应相同,这部分步骤在该实施例中不再赘述,具体可参考上述实施例一。具体地,图2为本发明实施例二提供的单证合成的分布式计算方法的流程图,如图2所示,该实施例二提供的单证合成的分布式计算方法包括如下的步骤S201至步骤S205。
步骤S201:控制装置接收请求端发起的单证合成请求。
其中,单证合成请求包括待合成的多个单证的入参。
步骤S202:控制装置为单证合成请求分配请求编号,为单证的入参分配单证编号,并将请求编号作为单证合成请求的响应返回至请求端,将单证编号和请求编号的对应关系存储至内存数据库的数据记录中。
该请求编号为全局唯一参数,能够唯一标识一个单证合成请求。单证编号也为全局唯一参数,对应单证的入参分配,能够唯一标识一个单证。
内存数据库设置一种数据记录,该数据记录包括请求编号和单证编号的对应关系,可选地,还可设置单证编号对应的状态,具体包括待计算、计算中和计算完成。
步骤S203:控制装置在多个处理装置中根据预设规则确定执行单证合成业务的处理装置。
步骤S204:被选定的处理装置根据单证的入参中的单证类型标识获取HTML模板,利用单证的入参对应替换的HTML模板中的参数,得到HTML单证,再将HTML单证转化为PDF单证,最后将该PDF单证存储至单证库,将处理状态对应单证编号存储至数据记录中。
其中,处理装置中设置有多个用于合成单证的HTML模板,每个HTML模板对应一种单证类型标识,单证的入参包括单证类型标识这一参数,因而,处理装置在执行单证合成业务时,首先对单证的入参进行解析,得到单证类型标识和其他单证中所需的参数,然后根据解析到的单证类型标识,在多个HTML模板中选定一个HTML模板,利用解析到的单证中所需的参数,替换HTML模板中的参数,即可得到HTML单证,然后再将HTML单证转化为PDF单证并存储至单证库,如果能够得到PDF单证并存储至单证库,则针对该单证的入参的处理状态为处理成功,否则处理状态为处理失败,最终,处理状态被对应单证编号存储至数据记录中,也即,每个单证编号均会对应一个处理状态,例如,将计算完成用处理状态来替代。
步骤S205:控制装置在内存数据库中读取数据记录,得到对应请求编号的各个单证编号的处理状态,然后在单证库中获取处理成功的单证编号的单证,将读取到的处理状态和获取到的单证以消息的方式发送至请求端。
当数据记录中一个请求编号对应的所有单证编号的处理状态均被设置到时,标识该请求编号对应的单证合成请求所包括的所有单证的入参被处理完毕。此时,控制装置在内存数据库中读取数据记录,利用请求编号进行查询,即可得到该请求编号对应的各个单证编号的处理状态,针对处理状态为处理成功的单证编号,利用单证编号在单证库中能够查询到单证,最终,将读取到的处理状态和获取到的单证以消息的方式发送至请求端,请求端能够明确哪些单证被成功计算得到,哪些单证计算失败。
采用该实施例提供的单证合成的分布式计算方法,对应单证的入参分配了唯一标识单证的单证编号,并且将请求编号与单证编号的对应关系,以及对应每个单证编号的处理状态写入数据库,从而当系统接收到不同请求端的多个单证合成请求时,控制装置均能够通过数据库来获取单证并发送至请求端。此外,处理装置中设置对应单证类型标识的HTML模板,针对不同的单证类型选择不同的HTML模板合成单证,丰富了处理装置合成单证的类型,同时,将HTML单证转化为PDF单证进行传输,有利于单证信息的固化。
实施例三
本发明实施例三提供了一种优选地单证合成的分布式计算方法,该单证合成的分布式计算方法的部分步骤与上述实施例中的步骤对应相同,这部分步骤在该实施例中不再赘述,具体可参考上述实施例。具体地,图3为本发明实施例三提供的单证合成的分布式计算方法的流程图,如图3所示,该实施例三提供的单证合成的分布式计算方法包括如下的步骤S301至步骤S306。
步骤S301:控制装置接收请求端发起的单证合成请求。
其中,单证合成请求包括待合成的多个单证的入参。
步骤S302:控制装置为单证合成请求分配请求编号,为单证的入参分配单证编号,并将请求编号作为单证合成请求的响应返回至请求端,将单证编号和请求编号的对应关系存储至内存数据库的数据记录中。
步骤S303:控制装置在多个处理装置中根据预设规则确定执行单证合成业务的处理装置。
步骤S304:控制装置将每个单证的入参分别封装为一个对象,并将所有对象存储至内存数据库的缓存队列中。
控制装置对每个单证的入参进行封装,单证合成请求包括多少个单证的入参(需要说明的是,这里的个数指的是单证的个数,而不是参数的个数),即可得到多少个对象,所有的对象被存储至内存数据库的缓存队列,当控制装置接收多个单证合成请求时,每个合成请求对应的对象可按照单证合成请求的先后顺序,排列至缓存队列中。
步骤S305:被选定的处理装置启动若干线程,每个线程启动后,从缓存队列中读取一个对象进行处理。
处理装置在执行合成单证的业务时,可同时启动多个线程,每个线程启动后,均会从缓存队列中读取一个对象进行处理,缓存队列相应减少一个对象,可选地,当线程无法从缓存队列中获取到对象时,表明缓存队列中暂时没有对象需要处理,此时线程会自动休眠预设时间后再次启动,其中,预设时间可以为300ms。
每个线程被启动后,均会获取HTML模板,将对象中单证的入参写入至HTML模板中,得到HTML单证,再将HTML单证转化为PDF单证,最后将该PDF单证存储至单证库,将处理状态对应单证编号存储至数据记录中。其中,处理状态包括处理成功和处理失败。
对于线程而言,其无需关注对象与请求编号的对应关系,只需获取对象进行处理,然后将单证存储至单证库,将处理状态对应单证编号存储至数据记录中即可。因此,一个处理装置的各个线程之间,以及不同处理装置的线程之间相互平等,减小了线程控制的复杂性,可根据需要随时启动新的线程和关闭处于休眠状态的线程,使得对处理装置的资源控制能够更加的灵活。此外,多个线程并行获取缓存队列中的对象进行处理,能够增加系统计算单证的速度,使得请求端能够更快的得到单证。
步骤S306:控制装置在内存数据库中读取数据记录,得到对应请求编号的各个单证编号的处理状态,然后在单证库中获取处理成功的单证编号的单证,将读取到的处理状态和获取到的单证以消息的方式发送至请求端。
采用该实施例提供的单证合成的分布式计算方法,将单证的入参封装为对象置入缓存队列,处理装置在合成单证时,从缓存队列中获取对象进行处理,有利于提升系统计算单证的速度,使得请求端能够更快的得到单证,并且由于对线程的控制较灵活,使得对处理装置的资源控制也更加灵活,针对缓存队列中没有对象的情况,线程自动处于休眠状态以及自动重新启动,既能够在休眠状态时避免线程浪费资源,又能够通过自动重启避免缓存队列中被写入新的对象时处理速度慢。
实施例四
本发明实施例四提供了一种优选地单证合成的分布式计算方法,该单证合成的分布式计算方法的部分步骤与上述实施例中的步骤对应相同,这部分步骤在该实施例中不再赘述,具体可参考上述实施例。具体地,该实施例四提供的单证合成的分布式计算方法详细说明如下:
1.系统A(也即上文中的单证合成系统)的控制机器将集群中的其他部分处理机器,包括机器a(也即上文中国的处理装置)和机器b,划分给单证合成服务,确保集群中有空闲的机器能够处理非单证合成的请求,不影响其他的业务流程;
2.系统A通过控制机器提供统一的一个接口,给系统B、C、D(也即上文中的请求端)。
3.系统B向系统A发起单证合成请求,请求中包含需要合成的单证甲的入参、单证乙的入参、单证丙的入参;
4.系统A的控制机器在接收到单证合成请求后,快速生成对应的请求编号X,将请求编号X返回给系统B,并且,将请求中的单证甲的入参、单证乙的入参、单证丙的入参存储到分布式内存数据库Redis的队列之中,并将请求编号X与单证甲、单证乙、单证丙的绑定关系,写到Redis中;
5.机器a和机器b启动线程1、线程2,每个线程都会从redis队列中获取1个单证的入参,通过单证的入参合成单证,并将合成的状态写到redis中,每个线程处理完这1个单证后,再去redis队列中获取新的单证参数,来合成单证。如果redis队列空了,获取不到单证的入参,当前线程睡眠300毫秒后,再去redis队列取单证的入参,线程处理完1个单证后,会去判断这个单证所属的请求下的其他单证是否都处理完成。如果处理完成,将处理完成的信息通知至控制机器,控制机器再将所有的单证合成结果汇总(包含请求编号A),并通过MQ的形式通知系统B,请求A下每个单证的处理结果。
采用该实施例提供的单证合成的分布式计算方法,系统之间的调用是异步的。系统B/C/D不需要等待系统A多份单证的合成,即可得到请求编号A,系统耦合度降低,不会导致系统B/C/D资源的长时间占用;系统A的资源是可划分的,系统A集群中,只有机器a、b才会做单证的合成,不会因为单证合成服务的异常导致其他系统A的服务出现问题;同1个请求下的不同单证,可以在不同的机器的不同线程上被合成,大大减少了整个单证合成请求的耗时时间。
实施例五
对应于上述各个实施例,本发明实施例五提供了一种单证合成系统,相应的技术特征所具备的技术效果可参考上文,该处不再赘述。图4为本发明实施例五提供的单证合成系统的框图,如图4所示,该单证合成系统包括控制装置10和多个处理装置20。
其中,控制装置10用于接收请求端发起的单证合成请求,为单证合成请求分配请求编号,并将请求编号作为单证合成请求的响应返回至请求端,在多个处理装置20中根据预设规则确定执行单证合成业务的处理装置20,其中,单证合成请求包括待合成的多个单证的入参;被选定的处理装置20用于处理单证的入参,以合成单证;控制装置10还用于根据请求编号将合成的单证以消息的方式发送至请求端。
可选地,在一种实施例中,控制装置10还用于在接收请求端发起的单证合成请求之后,为单证的入参分配单证编号,在为单证合成请求分配请求编号之后,将单证编号和请求编号的对应关系存储至内存数据库的数据记录中;被选定的处理装置20还用于在处理单证的入参,以合成单证之后,将合成的单证存储至单证库,将处理状态对应单证编号存储至数据记录中,其中,处理状态包括处理成功和处理失败;控制装置10根据请求编号将合成的单证以消息的方式发送至请求端时,具体执行的步骤包括:在内存数据库中读取数据记录,得到对应请求编号的各个单证编号的处理状态,然后在单证库中获取处理成功的单证编号的单证,将读取到的处理状态和获取到的单证以消息的方式发送至请求端。
可选地,在一种实施例中,控制装置10还用于在为单证合成请求分配请求编号之后,将每个单证的入参分别封装为一个对象,并将所有对象存储至内存数据库的缓存队列中;被选定的处理装置20处理单证的入参时,具体执行的步骤包括:启动若干线程,每个线程启动后,从缓存队列中读取一个对象进行处理。
可选地,在一种实施例中,当线程无法从缓存队列中获取到对象时,线程自动休眠预设时间后再次启动。
可选地,在一种实施例中,单证的入参包括单证类型标识,处理装置20设置有用于合成单证且与单证类型标识相对应的HTML模板,被选定的处理装置20处理单证的入参,以合成单证时,具体执行的步骤包括:根据单证的入参中的单证类型标识获取HTML模板,利用单证的入参对应替换的HTML模板中的参数,得到HTML单证,再将HTML单证转化为PDF单证,存储至单证库。
可选地,在一种实施例中,控制装置10根据请求编号将合成的单证以消息的方式发送至请求端时,具体执行的步骤包括:将合成的单证以及单证所属的请求编号发布至消息中转站,其中,请求端订阅消息中转站的消息,以根据请求编号获取单证。
实施例六
对应于上述各个实施例,本发明实施例六提供了一种单证合成系统的控制装置,相应的技术特征所具备的技术效果可参考上文,该处不再赘述。单证合成系统包括控制装置和多个处理装置,图5为本发明实施例五提供的单证合成系统的控制装置的框图,如图5所示,控制装置包括:接收模块601、分配模块602、第一发送模块603、选择模块604和第二发送模块605。
接收模块601用于接收请求端发起的单证合成请求,其中,单证合成请求包括待合成的多个单证的入参;分配模块602用于为单证合成请求分配请求编号;第一发送模块603用于将请求编号作为单证合成请求的响应返回至请求端;选择模块604用于在多个处理装置中根据预设规则确定执行单证合成业务的处理装置,其中,被选定的处理装置用于处理单证的入参,以合成单证;第二发送模块605用于根据请求编号将合成的单证以消息的方式发送至请求端。
可选地,在一种实施例中,分配模块602还用于为单证的入参分配单证编号,控制装置还包括存储模块,用于将单证编号和请求编号的对应关系存储至内存数据库的数据记录中,其中,被选定的处理装置处理单证的入参,以合成单证之后,将合成的单证存储至单证库,将处理状态对应单证编号存储至数据记录中,其中,处理状态包括处理成功和处理失败。第二发送模块605根据请求编号将合成的单证以消息的方式发送至请求端具体执行的步骤包括:在内存数据库中读取数据记录,得到对应请求编号的各个单证编号的处理状态,然后在单证库中获取处理成功的单证编号的单证,将读取到的处理状态和获取到的单证以消息的方式发送至请求端。
可选地,在一种实施例中,控制装置还包括封装模块,用于将每个单证的入参分别封装为一个对象,存储模块还用于将所有对象存储至内存数据库的缓存队列中,其中,被选定的处理装置处理单证的入参具时,启动若干线程,每个线程启动后,从缓存队列中读取一个对象进行处理。
可选地,在一种实施例中,当线程无法从缓存队列中获取到对象时,线程自动休眠预设时间后再次启动。
可选地,在一种实施例中,单证的入参包括单证类型标识,处理装置设置有用于合成单证且与单证类型标识相对应的HTML模板,被选定的处理装置处理单证的入参,以合成单证具体为:被选定的处理装置根据单证的入参中的单证类型标识获取HTML模板,利用单证的入参对应替换的HTML模板中的参数,得到HTML单证,再将HTML单证转化为PDF单证,存储至单证库。
可选地,在一种实施例中,第二发送模块605根据请求编号将合成的单证以消息的方式发送至请求端具体执行的步骤包括:将合成的单证以及单证所属的请求编号发布至消息中转站,其中,请求端订阅消息中转站的消息,以根据请求编号获取单证。
实施例七
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图6所示。需要指出的是,图6仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例六的单证合成系统的控制装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如单证合成的分布式计算方法等。
实施例八
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储单证合成系统的控制装置,被处理器执行时实现实施例一的单证合成的分布式计算方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种单证合成的分布式计算方法,其特征在于,单证合成系统执行所述单证合成的分布式计算方法,所述单证合成系统包括控制装置和多个处理装置,所述单证合成的分布式计算方法包括:
所述控制装置接收请求端发起的单证合成请求,其中,所述单证合成请求包括待合成的多个单证的入参;
所述控制装置为所述单证合成请求分配请求编号,并将所述请求编号作为所述单证合成请求的响应返回至所述请求端;
所述控制装置在多个所述处理装置中根据预设规则确定执行单证合成业务的所述处理装置;
被选定的所述处理装置处理所述单证的入参,以合成单证;以及
所述控制装置根据所述请求编号将合成的所述单证以消息的方式发送至所述请求端。
2.根据权利要求1所述的单证合成的分布式计算方法,其特征在于,所述单证合成的分布式计算方法还包括:
所述控制装置接收请求端发起的单证合成请求之后,为所述单证的入参分配单证编号;
所述控制装置为所述单证合成请求分配请求编号之后,将所述单证编号和所述请求编号的对应关系存储至内存数据库的数据记录中;
被选定的所述处理装置处理所述单证的入参,以合成单证之后,将合成的所述单证存储至单证库,将处理状态对应所述单证编号存储至所述数据记录中,其中,所述处理状态包括处理成功和处理失败;
所述控制装置根据所述请求编号将合成的所述单证以消息的方式发送至所述请求端具体为:所述控制装置在所述内存数据库中读取所述数据记录,得到对应所述请求编号的各个所述单证编号的处理状态,然后在所述单证库中获取处理成功的所述单证编号的单证,将读取到的所述处理状态和获取到的所述单证以消息的方式发送至所述请求端。
3.根据权利要求2所述的单证合成的分布式计算方法,其特征在于,
在所述控制装置为所述单证合成请求分配请求编号之后,所述方法还包括:所述控制装置将每个所述单证的入参分别封装为一个对象,并将所有所述对象存储至所述内存数据库的缓存队列中;
被选定的所述处理装置处理所述单证的入参具体为:被选定的所述处理装置启动若干线程,每个所述线程启动后,从所述缓存队列中读取一个对象进行处理。
4.根据权利要求3所述的单证合成的分布式计算方法,其特征在于,当所述线程无法从所述缓存队列中获取到对象时,所述线程自动休眠预设时间后再次启动。
5.根据权利要求2所述的单证合成的分布式计算方法,其特征在于,所述单证的入参包括单证类型标识,所述处理装置设置有用于合成单证且与所述单证类型标识相对应的HTML模板,被选定的所述处理装置处理所述单证的入参,以合成单证具体为:
被选定的所述处理装置根据所述单证的入参中的单证类型标识获取所述HTML模板,利用所述单证的入参对应替换所述HTML模板中的参数,得到HTML单证,再将所述HTML单证转化为PDF单证,存储至所述单证库。
6.根据权利要求1所述的单证合成的分布式计算方法,其特征在于,所述控制装置根据所述请求编号将合成的所述单证以消息的方式发送至所述请求端具体为:
所述控制装置将合成的所述单证以及所述单证所属的请求编号发布至消息中转站,其中,所述请求端订阅所述消息中转站的消息,以根据所述请求编号获取所述单证。
7.一种单证合成系统,其特征在于,所述单证合成系统包括控制装置和多个处理装置,其中:
所述控制装置用于接收请求端发起的单证合成请求,为所述单证合成请求分配请求编号,并将所述请求编号作为所述单证合成请求的响应返回至所述请求端,在多个所述处理装置中根据预设规则确定执行单证合成业务的所述处理装置,其中,所述单证合成请求包括待合成的多个单证的入参;
被选定的所述处理装置用于处理所述单证的入参,以合成单证;
所述控制装置还用于根据所述请求编号将合成的所述单证以消息的方式发送至所述请求端。
8.一种单证合成系统中的控制装置,其特征在于,所述单证合成系统包括所述控制装置和多个处理装置,其中,所述控制装置包括:
接收模块,用于接收请求端发起的单证合成请求,其中,所述单证合成请求包括待合成的多个单证的入参;
分配模块,用于为所述单证合成请求分配请求编号;
第一发送模块,用于将所述请求编号作为所述单证合成请求的响应返回至所述请求端;
选择模块,用于在多个所述处理装置中根据预设规则确定执行单证合成业务的所述处理装置,其中,被选定的所述处理装置用于处理所述单证的入参,以合成单证;
第二发送模块,用于根据所述请求编号将合成的所述单证以消息的方式发送至所述请求端。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841570.6A CN110673931A (zh) | 2019-09-06 | 2019-09-06 | 单证合成的分布式计算方法、单证合成系统及其控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841570.6A CN110673931A (zh) | 2019-09-06 | 2019-09-06 | 单证合成的分布式计算方法、单证合成系统及其控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110673931A true CN110673931A (zh) | 2020-01-10 |
Family
ID=69076137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910841570.6A Pending CN110673931A (zh) | 2019-09-06 | 2019-09-06 | 单证合成的分布式计算方法、单证合成系统及其控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673931A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529700A (zh) * | 2020-12-29 | 2021-03-19 | 平安消费金融有限公司 | 一种业务办理与审核方法、系统、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897299A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据库访问方法及装置 |
CN107515784A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中计算资源的方法与设备 |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
CN110175807A (zh) * | 2019-04-17 | 2019-08-27 | 平安普惠企业管理有限公司 | 贷款业务中的单证数据处理方法、装置及计算机设备 |
-
2019
- 2019-09-06 CN CN201910841570.6A patent/CN110673931A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897299A (zh) * | 2015-12-17 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据库访问方法及装置 |
CN107515784A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中计算资源的方法与设备 |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
CN110175807A (zh) * | 2019-04-17 | 2019-08-27 | 平安普惠企业管理有限公司 | 贷款业务中的单证数据处理方法、装置及计算机设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529700A (zh) * | 2020-12-29 | 2021-03-19 | 平安消费金融有限公司 | 一种业务办理与审核方法、系统、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848039B (zh) | 服务器、消息分配的方法及存储介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN110636124B (zh) | Vpp集群管理方法及装置、电子设备及存储介质 | |
CN112422450B (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN111338779A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN108243254B (zh) | 电子装置、应用升级版本发布的方法及存储介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN109561134B (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN107967305B (zh) | 影像文件上传方法、服务器及可读存储介质 | |
CN110673931A (zh) | 单证合成的分布式计算方法、单证合成系统及其控制装置 | |
CN111359205B (zh) | 云端游戏的操作方法、装置、计算机设备及存储介质 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN111858035A (zh) | 一种fpga设备分配方法、装置、设备及存储介质 | |
CN108920278B (zh) | 资源分配方法及装置 | |
CN106844036B (zh) | 物理设备的访问方法及装置 | |
US7127446B1 (en) | File system based task queue management | |
CN108428182B (zh) | 开发平台装置、获取保单号的方法及计算机可读存储介质 | |
CN111796934B (zh) | 任务下发方法、装置、存储介质和电子设备 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN114390104A (zh) | 过程取证系统、方法、装置、计算机设备及介质 | |
CN114327862A (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN109586970B (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 |