一种标书解析方法、系统、装置、设备及存储介质与流程

文档序号:25543432发布日期:2021-06-18 20:40
一种标书解析方法、系统、装置、设备及存储介质与流程

本发明涉及计算机技术领域,特别涉及一种标书解析方法、系统、装置、设备及存储介质。



背景技术:

在电子招投标普及的当下,业务量集聚的上升,电子招投标的投标文件也随之在不断增多,一般情况下,一个标书大约在200~300兆大小左右,而特大的标书大小可能过千兆。标书解析的整个过程,对服务器资源消耗较大,占用内存、磁盘i/o等,同时整个过程的耗时也较长,一次标书解析少则30秒,多则十几分钟。在常规的招投标系统内,标书加解密功能及解密后标书解析处理的功能是融合在整个系统应用中的。此种情况下,在每日开标时,一方面,大量的并发会影响业务服务正常的运行风险,标书解密、解析的功能会非常耗费服务器资源,并逐步会影响到正常其他业务的使用。另一方面,因标书解析服务的功能与其他常规业务功能公用同一的线程池及内存,当用户访问量偏重于标书解析时,其相对于其他业务功能占用的服务资源偏高,会影响整个服务的正常使用。



技术实现要素:

有鉴于此,本发明的目的在于提供一种标书解析方法、系统、装置、设备及存储介质,能够在保障其他业务服务的独立安全运行的同时提高标书解析服务的可维护性及可用性。其具体方案如下:

本申请的第一方面提供了一种标书解析方法,应用于标书解析服务器,包括:

获取由用户进行触发操作以生成的标书解析指令;

根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书;

将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

可选的,所述根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,包括:

根据所述标书解析指令利用本地的服务资源对预先上传并保存的标书进行解析,以得到解析后的标书;其中,所述服务资源为根据目标需求预先配置的线程池、内存资源及i/o资源。

可选的,所述将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器,包括:

将所述解析后的标书发送至中间件,以便所述中间件通过队列方式对所述解析后的标书进行存储,得到相应的标书队列,所述业务服务器从所述标书队列中获取相应的解析后的标书并进行存储,并将存储状态返回至所述标书解析服务器。

可选的,所述标书解析方法还包括:

将标书解析过程中的标书的状态信息在所述标书解析服务器的人工交互界面进行显示。

本申请的第二方面提供了一种标书解析方法,应用于业务服务器,包括:

获取标书解析服务器发送的解析后的标书;

对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

可选的,所述获取标书解析服务器发送的解析后的标书,包括:

从中间件上的标书队列中获取相应的解析后的标书;其中,所述标书队列由所述中间件通过队列方式对标书解析服务器发送的解析后的标书进行存储得到。

本申请的第三方面提供了一种标书解析系统,包括标书解析服务器、业务服务器和中间件,其中:

所述标书解析服务器,用于获取由用户进行触发操作以生成的标书解析指令,并根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,以及将所述解析后的标书发送至所述中间件;

所述中间件,用于接收所述解析服务器发送的所述解析后的标书,并通过队列方式对所述解析后的标书进行存储,得到相应的标书队列;

所述业务服务器,用于从所述中间件上的所述标书队列中获取相应的解析后的标书,并对所述解析后的标书进行存储,以及将存储状态返回至所述标书解析服务器。

本申请的第四方面提供了一种标书解析装置,包括:

获取模块,用于获取由用户进行触发操作,以生成的标书解析指令;

解析模块,用于根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书;

发送模块,用于将所述解析后的标书发送至业务服务器,以便所述业务服务器在接收到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

本申请的第五方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述标书解析方法。

本申请的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述标书解析方法。

本申请中,首先获取由用户进行触发操作以生成的标书解析指令,然后根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,最后将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。本申请通过将标书解析功能与业务服务功能进行解耦,保障了其他业务服务的独立安全运行,同时也提高了标书解析服务的可维护性及可用性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的一种应用于标书解析服务器的标书解析方法流程图;

图2为本申请提供的一种现有的标书解析方法示意图;

图3为本申请提供的一种应用于业务服务器的标书解析方法流程图;

图4为本申请提供的一种标书解析系统示意图;

图5为本申请提供的一种标书解析系统的逻辑示意图;

图6为本申请提供的一种标书解析装置结构示意图;

图7为本申请提供的一种标书解析电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有的招投标系统内,标书加解密功能及解密后标书解析处理的功能是融合在整个系统应用中的。此种情况下,在每日开标时,一方面,大量的并发会影响业务服务正常的运行风险,标书解密、解析的功能会非常耗费服务器资源,并逐步会影响到正常其他业务的使用。另一方面,因标书解析服务的功能与其他常规业务功能公用同一的线程池及内存,当用户访问量偏重于标书解析时,其相对于其他业务功能占用的服务资源偏高,会影响整个服务的正常使用。针对上述技术缺陷,本申请提出一种标书解析方案,应用于标书解析服务器,通过将标书解析功能与业务服务功能进行解耦,保障了其他业务服务的独立安全运行,同时也提高了标书解析服务的可维护性及可用性。

图1为本申请实施例提供的一种标书解析方法流程图,应用于标书解析服务器。参见图1所示,该标书解析方法包括:

s11:获取由用户进行触发操作以生成的标书解析指令。

本实施例中,用户的触发操作是生成标书解析指令的触发操作,也即本实施例中的步骤均是在标书上传之后进行的。一般来说,电子招投标系统(以下简称为“采购系统”)是一套用于采购组织机构发起招标、开标动作,供应商投标(包括电子招投标客户端),专家评标等的实现招投标采购的软件系统。所述电子招投标客户端用于供应商在投标期间制作投标标书,并最终生成加密标书与备份标书。所述投标标书为供应商使用所述电子招投标客户端制作标书时,生成的标书文件分加密标书与备份标书,此时生成的两份标书文件版本是一致且唯一的,这两份文件(加密标书和备份标书)统称为“投标标书”,任意单一一份文件也可简称为“投标标书”或“标书”。其中,所述加密标书是供应商投标时制作的响应标书,所述电子招投标客户端会对其进行加密,防止投标的标书内容暴露。该标书需要进行线上上传至所述电子招投标系统。在采购过程中,组织办理采购活动的角色为采购组织机构。

标书解析一般分为两个步骤,第一步是对加密标书进行解密,第二步是将解密的标书文件进行文件解析,其中包括结构化数据的解析和pdf文件的切片处理。其中,对加密标书进行解密的方法根据对标书加密的方法的不同而不同,如果是通过ca进行非对称加密,则应通过非对称解密算法对加密标书进行解密,如果是进行对称加密,则应通过对称解密算法对加密标书进行解密。其中,ca为一种硬件介质,拥有签名、验签功能,通过非对称加解密算法对文件进行加解密。在采购系统中,一般由每家供应商拥有自身的ca锁可进行投标文件的加密,并在开标时,进行解密操作。

在实际的招投标业务中,第一阶段为用户上传标书,第二阶段会在开标时(实际场景可能是多日之后),用户发起标书解析。在常规的招投标系统内,标书加解密功能及解密后标书解析处理的功能是融合在整个系统应用中的,如图2所示,多个标书解析功能和其他业务功能占用同一公用服务资源,所述其他业务功能为采购项目相关功能、招标相关功能、开评标相关功能、结果管理相关功能及其它辅助功能。在高并发情况下,会影响整个服务的正常使用。本实施例将标书解析功能与其他业务功能剥离,分别由不同的服务器执行。上述用户发起标书解析也即用户进行触发操作,以生成相应的标书解析指令,所述标书解析服务器获取所述标书解析指令。

s12:根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书。

本实施例中,所述标书解析服务器根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书。具体的,所述标书解析服务器根据所述标书解析指令利用本地的服务资源对预先上传并保存的标书进行解析,以得到解析后的标书,其中,所述服务资源为根据目标需求预先配置的线程池、内存资源及i/o资源。上述本地的服务资源即为所述标书解析服务器上的服务资源,将标书解析功能拆离,做成单独的服务,这样可以降低业务服务的处理压力,其次,因为标书解析功能的特殊性,对cpu、磁盘i/o占用高,可以根据实际的业务需求对单独的服务做特殊硬件配置,达到最佳效果。

为了进一步达到友好的用户使用效果,可以将标书解析过程中的标书的状态信息在所述标书解析服务器的人工交互界面进行显示。也即可以对标书从上传、预先保存、解析等步骤中的状态定时同步至用户,以便用户能准确了解到标书的状态信息并采取相应的应对措施。另外,针对状态定时同步,可以从一方直接推送状态数据,或从另一方定时拉取数据,上述两种同步方式达到的目标效果相同。

s13:将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

本实施例中,所述解析服务器将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。所述标书解析服务器在接收到所述业务服务器对所述解析后的标书进行存储的状态后,定时将该状态同步至用户,当然,所述标书解析服务器也可以定时从所述业务服务器上拉取该存储状态并同步至用户。

在一种实施例中,所述解析服务器将所述解析后的标书直接发送给所述业务服务器,不经过第三方,从一定程度上提高了数据传输效率,但当所述解析后的标书数据量巨大时,可能会存在网络延迟等导致的数据错误,容错率较低。

在另一种实施例中,在标书服务和业务服务中间,设置了中间件服务,有效的解耦了两个应用服务的关系,将解析标书信息做了缓冲,在高峰并发下,可以有效防范业务服务的压力。具体的,将所述解析后的标书发送至中间件,以便所述中间件通过队列方式对所述解析后的标书进行存储,得到相应的标书队列,所述业务服务器从所述标书队列中获取相应的解析后的标书并进行存储,并将存储状态返回至所述标书解析服务器。其中,所述中间件是一种间服务,用于解耦两个应用服务之间的依赖关系,能达到消峰、解耦的效果。一般中间件通过一端的生产者进行生产数据,另一端的消费者进行消息数据。这里的生产者为标书解析服务,消费者为业务服务。业务服务主要由于解析后的标书数据展示、操作等需要,所以需要解析服务在完成标书解析后,将结构化的标书信息以及文件进行业务服务的本地存储。另外,所述中间件中的队列能力,也可以直接放入到业务服务器中,视具体场景可灵活组装,如可直接将解析后的标书信息推送到指定的某台业务服务器上的队列中进行处理,但在容灾上有一定劣势,即当这台服务器故障时,该服务器内的业务需重启后才能处理。

可见,本申请实施例首先获取由用户进行触发操作以生成的标书解析指令,然后根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,最后将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。本申请实施例通过将标书解析功能与业务服务功能进行解耦,保障了其他业务服务的独立安全运行,同时也提高了标书解析服务的可维护性及可用性。

图3为本申请实施例提供的一种标书解析方法流程图,应用于业务服务器。参见图3所示,该标书解析方法包括:

s21:获取标书解析服务器发送的解析后的标书。

s22:对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

本实施例中,所述业务服务器首先获取标书解析服务器发送的解析后的标书。所述业务服务器可以直接从所述标书解析服务器上获取解析后的标书,也可以从中间件上的标书队列中获取相应的解析后的标书,其中,所述标书队列由所述中间件通过队列方式对标书解析服务器发送的解析后的标书进行存储得到。不难理解,所述解析服务器对标书进行解析后先将解析后的标书发送至所述中间件的队列中进行存储,然后所述业务服务器定时访问中间件服务来获取已解析的标书信息。当获取到标书信息后,所述业务服务器对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。也即当获取到标书信息后,所述业务服务器会进行本地的数据存储,方便后续对标书数据与主业务数据进行关联、查看等操作。此处,可以由中间件服务将解析后的标书推送至所述业务服务器,也能实现上述效果。

可见,本申请实施例中业务服务器首先获取标书解析服务器发送的解析后的标书,然后对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。进一步的,所述业务服务器也可以从中间件上的标书队列中获取相应的解析后的标书,其中,所述标书队列由所述中间件通过队列方式对标书解析服务器发送的解析后的标书进行存储得到。本申请实施例所述业务服务器无需执行对标书进行解析的操作,只需关注如采购项目相关功能、招标相关功能、开评标相关功能、结果管理相关功能及其它辅助功能等,保障了业务服务器的独立运行。

图4为本申请实施例提供的一种标书解析系统示意图。参见图4所示,该标书解析系统包括标书解析服务器、业务服务器和中间件,其中:

所述标书解析服务器,用于获取由用户进行触发操作以生成的标书解析指令,并根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,以及将所述解析后的标书发送至所述中间件。所述中间件,用于接收所述解析服务器发送的所述解析后的标书,并通过队列方式对所述解析后的标书进行存储,得到相应的标书队列。所述业务服务器,用于从所述中间件上的所述标书队列中获取相应的解析后的标书,并对所述解析后的标书进行存储,以及将存储状态返回至所述标书解析服务器。

本实施例中的所述标书解析系统的逻辑示意图如图5所示,上传标书的动作与解析标书的动作实现逻辑类似,本实施例重点描述解析标书的原理及步骤。在标书上传阶段,用户将加密的标书上传至标书解析服务器,所述解析服务器存储标书并将上传状态同步至用户。在标书解析阶段,首先,由用户发起标书解析时,会请求到所述标书解析服务器,此时,服务器进行标书解析的处理。在处理过程中,所述标书解析服务器会定时推送解析状态给到用户,达到友好的用户使用效果,当然也可从用户的客户端进行状态定时拉取。接着,所述标书解析服务器在完成标书解析后,将结构化的标书数据及文件推送至中间件服务,中间件服务作为队列进行存储,用于业务服务消费。最后,业务服务器定时访问中间件服务来获取已解析的标书信息,当获取到标书信息后,会进行本地的数据存储,可以由中间件服务进行数据推送至业务服务,也能实现类似效果。所述业务服务器在处理标书数据时,会定时将处理状态通知到所述标书解析服务,所述标书解析服务集中处理标书的整体状态,最终将状态通知给用户。所述业务服务完成标书数据存储后,整个标书解析过程结束,并将最终结果通过标书解析服务通知到用户。

可见,本申请实施例中的标书解析系统设置标书解析服务器、业务服务器和中间件,对标书解析功能和服务进行拆离后,又通过中间件做到缓冲作用,对原有业务服务的压力会大大降低,且标书解析服务可以根据功能的特点,进行特定化硬件服务器的配置。可有效控制在并发量高的情况下,控制业务服务器处理自身相关业务,标书解析服务器处理文件解密、解析、数据处理等高cpu、i/o消耗的任务。

参见图6所示,本申请实施例还相应公开了一种标书解析装置,包括:

获取模块11,用于获取由用户进行触发操作,以生成的标书解析指令;

解析模块12,用于根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书;

发送模块13,用于将所述解析后的标书发送至业务服务器,以便所述业务服务器在接收到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。

可见,本申请实施例首先获取由用户进行触发操作以生成的标书解析指令,然后根据所述标书解析指令对预先上传并保存的标书进行解析,以得到解析后的标书,最后将所述解析后的标书传输至业务服务器,以便所述业务服务器在获取到所述解析后的标书后,对所述解析后的标书进行存储,并将存储状态返回至所述标书解析服务器。本申请实施例通过将标书解析功能与业务服务功能进行解耦,保障了其他业务服务的独立安全运行,同时也提高了标书解析服务的可维护性及可用性。

在一些具体实施例中,所述获取模块11,具体用于根据所述标书解析指令利用本地的服务资源对预先上传并保存的标书进行解析,以得到解析后的标书;其中,所述服务资源为根据目标需求预先配置的线程池、内存资源及i/o资源。

在一些具体实施例中,所述解析模块12,具体用于将所述解析后的标书发送至中间件,以便所述中间件通过队列方式对所述解析后的标书进行存储,得到相应的标书队列,所述业务服务器从所述标书队列中获取相应的解析后的标书并进行存储,并将存储状态返回至所述标书解析服务器。

在一些具体实施例中,所述标书解析装置还包括显示模块,用于将标书解析过程中的标书的状态信息在所述标书解析服务器的人工交互界面进行显示。

进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。

图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的标书解析方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及标书数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量标书数据223的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的标书解析方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的标书数据。

进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的标书解析方法步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的标书解析方法、系统、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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