CN111367481A - 电子打印文件的生成方法、装置及系统 - Google Patents

电子打印文件的生成方法、装置及系统 Download PDF

Info

Publication number
CN111367481A
CN111367481A CN202010247069.XA CN202010247069A CN111367481A CN 111367481 A CN111367481 A CN 111367481A CN 202010247069 A CN202010247069 A CN 202010247069A CN 111367481 A CN111367481 A CN 111367481A
Authority
CN
China
Prior art keywords
data
page
information
file
dimensional code
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.)
Granted
Application number
CN202010247069.XA
Other languages
English (en)
Other versions
CN111367481B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010247069.XA priority Critical patent/CN111367481B/zh
Publication of CN111367481A publication Critical patent/CN111367481A/zh
Application granted granted Critical
Publication of CN111367481B publication Critical patent/CN111367481B/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/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明公开了一种电子打印文件的生成方法、装置及系统,其中,该方法包括:接收来自客户端的用户的数据打印请求,数据打印请求包括:用户信息和数据查询信息;根据数据打印请求获取相应的数据;根据预定格式将数据以翻页方式生成打印文件,其中,打印文件中的每一页包含:二维码和带有验证码的印章,二维码用于存储所属页的查询信息,验证码根据用户信息、所属页数据信息和前后页关联信息生成;将打印文件加密处理后发送至客户端。通过本发明,可以保证打印文件的完整性。

Description

电子打印文件的生成方法、装置及系统
技术领域
本发明涉及数据处理领域,具体涉及一种电子打印文件的生成方法、装置及系统。
背景技术
随着互联网和移动通信技术的快速发展,线上渠道给客户带来了巨大便利,打造您身边银行的服务理念越来越深入人心,银行业务系统的服务方式也在逐步从线下向线上转换。
随着交易的累积和线上业务迅速拓展,银行系统单业务品种日均的交易量有千万笔的数量级别,高峰期每秒并发的交易访问量也有几千笔,对银行大业务量下的交易明细数据存储管理和快速检索推送能力,有待进一步提升。
并且,线上服务一直是便利与风险并存的,银行打印明细证明业务,一般是作为银行为客户提供的贷款、签证等官方的资质证明材料,在渠道推送的过程中,明细文件也存在被拦截导致全部丢失、部分丢失或被篡改的风险。
对于电子文档打印文件,现有电子印章及验证技术主要是针对本页一定范围内容的验证,对于银行系统线上服务涉及交易明细内容较多、页数较多的场景,尤其是在被打印成纸质证明材料后更容易被篡改或替换删除掉部分页。
发明内容
有鉴于此,本发明提供一种电子打印文件的生成方法、装置及系统,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种电子打印文件的生成方法,所述方法包括:接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息;根据所述数据打印请求获取相应的数据;根据预定格式将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成;将所述打印文件加密处理后发送至所述客户端。
根据本发明的第二方面,提供一种电子打印文件的生成装置,所述装置包括:请求接收单元,用于接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息;数据获取单元,用于根据所述数据打印请求获取相应的数据;文件生成单元,用于根据预定格式将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成;文件发送单元,用于将所述打印文件加密处理后发送至所述客户端。
根据本发明的第三方面,提供电子打印文件的生成系统,所述系统包括:上述的电子打印文件的生成装置、存储器,其中,所述存储器用于存储数据、以及所述数据打印请求及其受理编号。
根据本发明的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
根据本发明的第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,通过根据数据打印请求获取的数据生成打印文件,并在打印文件中加入二维码和带有验证码的印章,由于二维码存储了所属页的查询信息,因而可以实现所属页完整信息的验证,同时,验证码是根据用户信息、所属页数据信息和前后页关联信息生成的,因而可以实现对前后页连续性的验证,从而根据二维码和验证码就可以保证文件的完整性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的电子打印文件的生成方法的流程图;
图2是根据本发明实施例的验证码生成要素的组成示意图;
图3是根据本发明实施例的通过二维码验证文件完整性的流程图;
图4是根据本发明实施例的历史明细查询流程图;
图5是根据本发明实施例的电子打印文件生成系统的结构框图;
图6是根据本发明实施例的电子打印文件生成装置1的结构框图;
图7是根据本发明实施例的电子打印文件生成装置1的详细结构框图;
图8是根据本发明实施例的验证单元18的结构框图;
图9是根据本发明实施例的PAAS(Platform as a Service,平台即服务)云基础架构部署示意图;
图10是根据本发明实施例的电子打印文件生成系统的示例结构框图;
图11是基于图10所示系统的生成电子打印文件的流程图;
图12是根据本发明实施例的电子印章生成模块5的执行流程图;
图13是根据本发明实施例的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于目前的电子印章及验证技术主要是针对所属页一定范围内容的验证,对于银行系统线上服务涉及交易明细内容较多、页数较多的场景,尤其是在被打印成纸质证明材料后更容易被篡改或替换删除掉部分页,缺少所属页完整信息验证以及前后页连续性验证的关键保障机制,无法保证文件的完整性。基于此,本发明实施例提供了一种电子打印文件的生成方案,以保证电子打印文件的完整性。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的电子打印文件的生成方法的流程图,如图1所示,该方法包括:
步骤101,接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息。
步骤102,根据所述数据打印请求获取相应的数据。
优选地,可以基于多数据源路由访问控制策略获取相应的数据。其中,多数据源路由访问控制策略可以实现快速索引,从而可以加快获取数据的速度。
步骤103,根据预定格式(例如,PDF格式)将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成。
在实际操作中,可以根据所述二维码和带有验证码的印章对所述打印文件进行完整性验证,其中,所述二维码用于每页数据完整性验证。
具体地,可以根据所述二维码存储的所属页的查询信息获取本地存储的数据,以此验证所属页数据的完整性;以及,根据所述印章中的验证码对所述打印文件的页码连续性进行验证,以此验证所述打印文件的完整性。
步骤104,将所述打印文件加密处理后发送至所述客户端。
具体而言,可以根据用户预先设置的密码结合预定加密方式对打印文件进行加密处理。
通过根据数据打印请求获取的数据生成打印文件,并在打印文件中加入二维码和带有验证码的印章,由于二维码存储了所属页的查询信息,因而可以实现所属页完整信息的验证,同时,验证码是根据用户信息、所属页数据信息和前后页关联信息生成的,因而可以实现对前后页连续性的验证,从而,根据二维码和验证码就可以保证文件的完整性。
具体地,在步骤102根据数据打印请求获取相应的数据之前,需要根据预定拦截规则对所述数据打印请求进行预处理,以判断是否执行该数据打印请求;当判断结果为执行该数据打印请求时,可以根据预定编号规则为该数据打印请求生成受理编号。
在实际操作中,可以将数据打印请求、受理编号等存储到请求登记表中,该登记表还可以记录数据打印请求的执行状态(例如,受理、待发送、已发送、延迟发送等),该登记表的具体描述可以如下表1所示:
Figure BDA0002434237520000051
表1
这里的预定拦截规则可以是根据用户发送数据打印请求的时间、或者登记表中的数据打印请求的执行状态来判断是否执行打印请求,例如,用户在预定间隔时间内发送两次打印请求,则第二次打印请求会被拦截,即,不执行第二次打印请求。
步骤103中的验证码可以通过如下方式生成:基于国密算法(例如,SM4国密算法)对所述用户信息、所属页数据信息和前后页关联信息进行加密生成所述验证码,其中,前后页关联信息包括:前页的验证码和后页数据信息。
在实际操作中,获取的数据可以是交易明细信息,每页可以包含预定数量的明细信息。以下以请求打印银行交易明细数据为例,结合图2来详细描述本发明实施例中的验证码。
图2是根据本发明实施例的验证码生成要素的组成示意图,如图2所示,验证码生成要素包括:本页的关键信息(例如,本页交易明细的收支、合计信息等)、上一页的验证码以及下一页第一条交易流水号(由于明细查询采用翻页方式,每次会额外返回+1条的记录用于下一次翻页查询,因而下一页第一条交易的流水号是会在本页查询时提前获取到,在实际操作中也可以换成其他能唯一标识这条交易记录的关键要素组合)。这样在根据验证码进行打印文件的验证时,会给客户返回展示本页以及上下页的关键要素信息,实现前后页连续性验证。这种后页验证码生成依赖前页验证码的链式结构也可以进一步有效防止验证码被篡改。
在具体实施过程中,验证码可以通过如下公式表示:
Vcode=En(F(i,t,r),key)T
其中,Vcode表示验证码,En表示加密算法,T表示交易类型,F表示由关键要素信息组成的明文,key表示加密密钥,i表示客户身份信息,t表示本页关键交易信息,r表示前后关联信息。
例如,客户身份信息i可以是姓名、账号、身份证号;本页关键交易信息t可以是本页交易明细的支出、收入合计;前后关联信息r可以是前页的验证码、后页第一条交易记录的交易流水号的结合。由此,验证码可以实现客户身份、本页关键交易信息、前后页连续性的三重验证。
在验证码生成之后,使用图形处理方法绘制印章图形,采用印文动态排版算法,计算每个印文在电子印章上的布局方位,合成印文和验证码,这样就生成了含验证码的电子印章。
另外,上述步骤103中的二维码,在生成时采用活码方式,除了本页的关键要素信息(例如,本页交易明细的收支、合计信息等)外,还可以存储本页明细查询条件,在实际操作中,不用存储整页的明细信息。在根据二维码进行文件完整性验证,通过解析二维码可以得到本页查询条件,根据该查询条件可以返回本地存储的数据,当该数据与本页完整交易信息内容一致时,表示验证成功。
通过仅存储本页的关键要素信息和明细查询条件,可以减少二维码的存储信息,以克服存储信息超过二维码存储上限的问题,也可以防止二维码存储信息越多,导致像素越多,增加分辨和解码难度的问题。
图3是根据本发明实施例的通过二维码验证文件完整性的流程图,如图3所示,该流程包括:
步骤301:客户通过电子渠道扫描页面二维码图片,发起二维码验证请求。
步骤302:解析二维码图片,生成二维码字符串。
步骤303:根据解析生成的二维码字符串,获取本页明细的查询条件信息。
步骤304:根据查询条件信息查询相应的数据,并整合步骤302解析出的其他关键要素信息一并返回查询结果。
步骤305:将查询结果在电子渠道页面进行展示供客户核对,如此,可以验证该页内容是否完整。
图4是根据本发明实施例的历史明细查询流程图,如图4所示,该流程包括:
步骤401:接收历史明细查询请求,查询采用翻页查询方式,每次仅返回当前页请求的交易明细记录,以及是否有下一页标识(例如,当前页请求的交易明细记录之外的1条记录)。
步骤402:根据接收的查询条件,查询方式可以按照交易日期升序查询或者降序查询,用查询起始或截止日期查询多数据源路由访问索引控制表,确定本次查询明细所需查询访问的数据源库。
步骤403:到索引定位到的明细数据源库查询历史明细,返回不大于本次请求页要求查询记录数+1条的交易明细。
步骤404:将本次查询结果添加到查询结果集。
步骤405:判断是否本页查询请求未完成需要继续查询,如果是,则更新查询起始或截止日期,执行步骤402;如果否,则执行步骤406。
需要说明的是,结果集中已有记录数小于等于本次请求页要求查询记录数,且本轮查询的起始或截止日期在数据源库明细存储日期范围外,则都认为需要继续查询。
步骤406:计算并更新是否有下一页标识。
在实际操作中,如果能查询到比本次请求页要求的查询记录数多1条的交易明细,则认为有下一页。
步骤407:返回查询结果。
图4所示的历史明细查询流程可以应用于二维码验证文件完整性流程,也可以用于步骤102的获取数据流程。
在实际操作中,根据银行业务数据特点,对于数据存储可以先按照业务种类分集群部署,实现物理隔离,降低相互影响。之后,可以将明细数据划分为如下三类,采用不同的架构设计以及合理的分库分表方法,满足不同的查询热度需要,提升服务时效:
(1)当期明细:存在更新、查询频度较高;采用多活架构支撑,按地区按日分区。
(2)近期明细:只读、查询频度较高;采用双活架构支撑,按年分库分表,按地区按月分区。
(3)超期明细:只读、查询频度较低;采用单一园区部署,按年分库分表,按地区按月分区。
另外,银行需要每天进行数据老化迁移操作,为了加快数据导入速度,会置整个月分区索引失效,待导入后再重建。例如,银行活期交易在每月21日结息日的交易量会比较大,为降低因索引失效对明细查询效率的影响,可以考虑把每月21日数据量最大的一天作为分区日(即每个月分区是从上月22日-本月21日的数据),而不是使用月末自然日作为分区日。
在步骤102中使用的多数据源路由访问控制策略可以基于多数据源路由访问索引控制表来实现,该控制表为热点表,可以采用守护进程方式将数据库中路由表信息同步到各应用服务器,守护进程周期性(例如,每5分钟一次,可参数化配置)读取,与应用服务器缓存中的信息比对,若有变化则更新,这样可以有效避免单一索引带来的性能瓶颈和单点风险。
基于相似的发明构思,本发明实施例还提供一种电子打印文件的生成系统,如图5所示,该系统包括:电子打印文件的生成装置1和存储器2,其中,存储器用于存储数据、以及电子打印文件的生成装置1接收的数据打印请求及其受理编号等。优选地,该电子打印文件生成装置1用于实现上述方法实施例中的流程。以下结合附图详细描述电子打印文件生成装置1。
图6是电子打印文件生成装置1的结构框图,如图6所示,该电子打印文件的生成装置1包括:请求接收单元11、数据获取单元12、文件生成单元13和文件发送单元14,其中:
请求接收单元11,用于接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息。
数据获取单元12,用于根据所述数据打印请求获取相应的数据。
具体地,数据获取单元可以根据所述数据打印请求基于多数据源路由访问控制策略获取相应的数据。
文件生成单元13,用于根据预定格式将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成。
文件发送单元14,用于将所述打印文件加密处理后发送至所述客户端。
通过文件生成单元13根据数据获取单元12基于数据打印请求获取的数据生成打印文件,并在打印文件中加入二维码和带有验证码的印章,由于二维码存储了所属页的查询信息,因而可以实现所属页完整信息的验证,同时,验证码是根据用户信息、所属页数据信息和前后页关联信息生成的,因而可以实现对前后页连续性的验证,从而,根据二维码和验证码就可以保证文件的完整性。
在实际操作中,如图7所示,电子打印文件生成装置1还包括:
预处理单元15,用于根据预定拦截规则对所述数据打印请求进行预处理,以判断是否执行该数据打印请求。
编号生成单元16,用于响应于判断结果为执行该数据打印请求,根据预定编号规则为该数据打印请求生成受理编号。
验证码生成单元17,用于基于国密算法对所述用户信息、所属页数据信息和前后页关联信息进行加密生成所述验证码,其中,前后页关联信息包括:前页的验证码和后页数据信息。
验证单元18,用于根据所述二维码和带有验证码的印章对所述打印文件进行完整性验证,其中,所述二维码用于每页数据完整性验证。
如图8所示,验证单元18具体包括:二维码验证模块181和验证码验证模块182,其中:
二维码验证模块181,用于根据所述二维码存储的所属页的查询信息获取本地存储的数据,以此验证所属页数据的完整性;
验证码验证模块182,用于根据所述印章中的验证码对所述打印文件的页码连续性进行验证,以此验证所述打印文件的完整性。
继续参见图7,电子打印文件生成装置1还包括:加密单元19,用于根据所述用户预先设置的密码结合预定加密方式对所述打印文件进行加密处理。之后,由文件发送单元14将加密后的打印文件发送给客户端。
上述各单元、各模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。
以下基于以请求打印银行交易明细数据为例,来详细描述本发明实施例。
在本实施例中,利用PAAS(Platform as a Service,平台即服务)云平台、DSF((Device Simulation Framework,设备虚拟框架)服务框架的弹性伸缩、负载均衡、容器自愈、快速交付等优势,来实现本申请的电子打印文件生成方案。以下先描述PAAS云基础的架构部署。
图9是PAAS云基础架构部署图,如图9所示,该架构包括:AB同城双活、C园区异地灾备部署,在C园区中,包括两个组(SET),每个组都包括1个主库和1个本地备用库。备用库包括:本地备用库、同城备用库和异地备用库。PAAS云平台具有动态扩容能力,应用服务器服务化节点以Docker(一种开源应用容器引擎)容器的方式实现快速扩容策略,满足弹性扩容需求。随着业务功能扩展,可以按照产品分容器进行业务隔离。
假设目前网点的柜面及自助终端设备每日历史明细打印业务的交易量大约为10万笔订单,每笔订单预估平均为10000条交易明细数据,每页25条交易记录,每笔订单则需要400页。单机模拟测试时加印章图片的一份400页PDF文件生成大约花费8-10秒(实际中,时间会更少)。如每台服务器暂定开8个线程并发,单园区如有4台订单处理服务器则最多32笔订单同时执行,10万笔订单大约需要10小时可完成当日订单任务。
服务器JVM(Java Virtual Machine,Java虚拟机)的设置初始堆514M,最大堆为1024M。由于单个容器线程池最大并发量为8,每个线程以流式获取数据生成历史明细PDF,单线程生命周期内内存最大占用2M(在实际操作中,邮件附件大小限制为2M,故单个PDF文件最大为2M),因此8个线程并发执行最大占用内存16M。考虑到高峰期可能需要扩大并发量的情况,将并发数从8增加到12。那内存最大占用量为24M,对象化放入JVM内存后按10倍计算,需占用240M内存左右,仍然远远低于设置的JVM内存,因而不存在内存溢出风险。
基于上述图9所示的架构,可以合理布局历史明细数据存储查询策略,可以实现多种架构体系结合分库分表分区的存储方式,由多数据源路由访问控制实现快速索引,采用多线程并发方式完成多个历史明细打印订单的并行处理,实现秒级服务发送,提升服务时效。采用守护进程定时同步方式将数据库中路由索引表信息同步到各应用服务器缓存中,可以有效避免单一索引带来的性能瓶颈和单点风险。每日数据老化迁移策略会导致月分区索引暂时失效,为降低对明细查询效率的影响,把每月数据量最大的一天作为分区最后一日,而不是使用月末自然日作为分区日。
在实际操作中,服务可以支持例如最长10年内的明细打印,所涉及交易明细内容和页数都比较多,由于服务功能链路较长,因而可以增加异常兜底处理,确保对客服务及时完整闭环。
在本发明实施例中,通过线上模式实现电子打印文件的推送,具体流程包括:客户在电子渠道申请-〉业务集中处理应用查询明细盖章-〉通过渠道推送给客户。
在一个实施例中,客户可以通过个人手机银行等电子渠道申请,根据申请信息生成含电子印章并加密的个人历史明细PDF文件,之后PDF文件秒级发送到客户指定电子邮箱,且每页附带唯一的二维码和带有验证码的印章供客户扫描验证。
从线下业务转换为线上办理模式,本发明实施例解决了如下主要问题并提供了如下关键技术保障:
(1)打印明细证明业务原来是分散在各个网点的线下业务,业务量总和比较大,现改为线上模式做集中的业务处理,因而本申请提出了如图9所示的基于分布式服务框架部署来实现线上历史明细打印服务。
(2)网点办理业务窗口有限,并发量可控,改为线上模式会存在业务集中爆发的情况。
为提升服务能力和时效,本发明实施例采用多线程并发方式完成多个历史明细打印订单的并行处理,历史明细存储实施多种架构体系并配合合理的分库分表分区策略。
由多数据源路由访问控制实现快速索引,采用守护进程定时同步方式将数据库中路由索引表信息同步到各应用服务器缓存中,可以有效避免单一索引带来的性能瓶颈和单点风险。
每日数据老化迁移策略会导致月分区索引暂时失效,为降低对明细查询效率的影响,把每月数据量最大的一天作为分区最后一日,而不是使用月末自然日作为分区日。
(3)线上服务改为通过EMAIL(邮件)发送给客户,需要确保数据传输的安全性以及实现防伪验证。
除了考虑对生成文件做数字签名等加密处理,每页明细打印材料都会嵌入电子印章,印章随交易动态生成,随交易结束销毁,通过SM4国密算法加密如图2所示的关键要素动态生成验证码,随电子章打印,保证用印的唯一性、防篡改性。
对二维码的生成验证采用活码方式,以实现每页完整信息验证,二维码存储本页明细查询条件,在通过二维码验证时用解析出的查询条件查询返回每页完整交易信息内容,既可以解决明细过多可能超过二维码存储上限的问题,也可以防止二维码存储信息越多,导致像素越多,增加分辨和解码难度的问题。
在实际操作中,可以结合银行系统业务数据特点注入上下页关键要素参与验证码和二维码的运算,实现前后页连续性验证,后页验证码的生成依赖前页验证码的链式结构可以进一步有效防止验证码被篡改,确保电子和纸质证明材料的安全可靠性。
一般需要打印的历史明细数量比较大,邮件发送有附件大小限制,明细文件可以分割成多份分邮件发送。
(4)客户会选择一个时间段的线上历史明细进行打印,比如目前最长可支持10年内的明细打印,所涉及的交易明细内容和页数都比较多,服务功能链路较长,可以增加异常兜底处理,确保对客服务及时完整闭环。
图10是根据本发明实施例的电子打印文件生成系统的示例结构框图,如图10所示,该系统包括:电子渠道申请模块1、业务受理模块2、明细文件生成模块3、历史明细查询模块4、电子印章生成模块5、异常重处理模块6、Email发送模块7,以下分别详细描述各模块。
电子渠道申请模块1:支持客户在银行的电子渠道提交打印明细证明业务的相关申请,例如,手机银行渠道、个人网银渠道、银行小程序渠道等,页面提交的申请信息包括账号、起始日期、截止日期、交易币种、交易类型、邮箱、是否隐藏交易对手信息、文件密码等。
业务受理模块2:对申请信息进行预校验(包括拦截策略,例如间隔时间过短或者已有在途的打印订单,这样的订单被拦截),并为每笔历史明细打印申请生成一个唯一的受理编号。将用户要素、受理状态、受理编号等重要信息持久化至数据库表处理登记簿中。
明细文件生成模块3:启动处理线程,根据客户信息上送的申请信息中的查询条件调用历史明细查询模块4查询明细数据。抽取订单(即,申请)中客户信息及业务专用章所需要素,调用电子印章生成模块5接口,获取该次历史明细打印所需的带验证码的印章图片及二维码。将印章等嵌入明细中生成PDF文件。
在实际操作中,单个邮件附件有大小限制,如超过需分割生成的PDF文件为多份并分邮件发送。根据客户申请时设置的文件密码对PDF文件进行加密,将文件、邮件内容、客户邮箱地址等信息一起打包推送到待发送目录。
历史明细查询模块4:支持查询并返回客户指定期限内的账户交易历史明细数据。支持十年内明细查询,在存储时,可以将数据分为当期明细(存在更新、查询频度较高)、近期明细(只读、查询频度较高)和超期明细(只读、查询频度较低),采用不同的架构设计以及合理的分库分表方法进行存储,以满足不同查询热度需要,并对外提供统一的查询服务。
电子印章生成模块5:根据上送的交易种类、关键要素信息,返回带验证码的印章图片及二维码。参与验证码运算的关键要素可以在凭证上打印,例如,客户信息(如姓名、账号、身份证号等)、本页支出/收入算数合计、前页的验证码、后页衔接交易记录的交易流水号等信息。支持PNG(Portable Network Graphics,便携式网络图形)的透明印章,支持返回二维码影像,并可提供验证码和二维码验证。
异常重处理模块6:配置定时任务,例如,每1小时启动一次,将登记簿中受理状态为“电子印章生成失败”/“历史明细查询失败”/“PDF生成失败”的申请(或称为订单)调用接口重新放入线程池处理。若打印申请在N(N为大于等于1的正整数,N取值由实际而定)次执行失败后,可以发邮件通知系统管理员,通过人工检查,修正失败因素,最后人工干预方式调用接口重新将订单放入线程池处理。
Email发送模块7:支持将明细文件以电子邮件附件形式发送给客户。
图11是基于图10所示系统的生成电子打印文件的流程图,如图11所示,该流程包括:
步骤1101:对客户页面输入信息进行合法性校验,提交历史明细打印业务申请。
步骤1102:对通过预校验的订单,受理申请生成唯一受理编号,并登记处理登记簿。
步骤1103:启动处理线程,查询历史明细,采用翻页方式,每次获取指定条数历史明细数据。若查询失败,则重试N次。
步骤1104:判断明细是否查询成功,如果是,则执行步骤1105;如果否,则执行步骤1111。
步骤1105:调用电子印章生成模块5,返回透明印章、验证码、二维码图像等信息。若生成失败,则重试N次。
这里,电子印章随交易动态生成,嵌入到标准的用印位置,随交易结束销毁;通过SM4国密算法加密关键要素动态生成验证码,随电子章打印,保证用印的唯一性、防篡改性;二维码可以使用如google ZXing(一种条码图像处理库)生成与解析。
步骤1106:判断电子印章是否生成成功,如果是,则执行步骤1107;如果否,则执行步骤1111。
步骤1107:根据客户选择的交易类型选择对应的PDF模板,使用iText类库生成PDF文件。若生成失败,则重试N次。
步骤1108:判断PDF文件是否生成成功,如果是,则执行步骤1109;如果否,则执行步骤1111。
步骤1109:根据客户申请时设置的文件密码对PDF文件进行加密处理。
这里的加密方法可以根据具体业务来选择,例如,可以使用iText类库,也可结合数字签名、国密加密等方法,进一步确保防篡改和防止客户涉敏信息泄露。
步骤1110:判断文件加密是否成功,如果是,则执行步骤1111;如果否,则执行步骤1111。
步骤1111:更新处理登记簿的执行状态。
这里的处理登记簿为热点表,会同时被定时任务扫描异常情况、被处理线程更新订单执行状态和为渠道提供订单进展查询。在实际操作中,可以采用临时表和归档表分离的设计,也可以按照地区分区。
步骤1112:判断是否有处理失败状态的订单,如果是,则执行步骤1103;如果否,则执行步骤1113。
步骤1113:EMAIL发送历史明细PDF文件。
图12是上述电子印章生成模块5的执行流程图,如图12所示,该流程包括:
步骤1201:接收用印请求,解析用印信息。
步骤1202:根据关键要素信息生成字符串,使用SM4国密算法对字符串加密生成验证码。
步骤1203:根据关键要素信息,使用google ZXing方法生成二维码。
步骤1204:使用图形处理方法绘制印章图形,采用印文动态排版算法,计算每个印文在电子印章上的布局方位,合成印文和验证码,生成含验证码的电子印章。
步骤1205:返回电子印章和二维码。
图13是根据本发明实施例的电子设备的示意图。图13所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器1301和存储器1302。处理器1301和存储器1302通过总线1303连接。存储器1302适于存储处理器1301可执行的一条或多条指令或程序。该一条或多条指令或程序被处理器1301执行以实现上述电子打印文件生成方法中的步骤。
上述处理器1301可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器1301通过执行存储器1302所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线1303将上述多个组件连接在一起,同时将上述组件连接到显示控制器1304和显示装置以及输入/输出(I/O)装置1305。输入/输出(I/O)装置1305可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(I/O)装置1305通过输入/输出(I/O)控制器1306与系统相连。
其中,存储器1302可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述电子打印文件生成方法的步骤。
综上所述,本发明实施例利用PAAS云平台、DSF服务框架的弹性伸缩、负载均衡、容器自愈、快速交付等优势,同时结合银行业务数据特点采取必要的防伪验真手段,并合理布局数据存储查询策略提升服务时效,实现了现下业务向线上的模式转换,实现了线上打印文件方案,解决了客户交通不便以及排队等待等问题的同时,也大大节约了银行人力运营等各方面的成本开销,实现了线下线上一体化服务。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (17)

1.一种电子打印文件的生成方法,其特征在于,所述方法包括:
接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息;
根据所述数据打印请求获取相应的数据;
根据预定格式将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成;
将所述打印文件加密处理后发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,根据所述数据打印请求获取相应的数据之前,所述方法还包括:
根据预定拦截规则对所述数据打印请求进行预处理,以判断是否执行该数据打印请求;
响应于判断结果为执行该数据打印请求,根据预定编号规则为该数据打印请求生成受理编号。
3.根据权利要求1所述的方法,其特征在于,通过如下方式生成所述验证码:
基于国密算法对所述用户信息、所属页数据信息和前后页关联信息进行加密生成所述验证码,其中,前后页关联信息包括:前页的验证码和后页数据信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述二维码和带有验证码的印章对所述打印文件进行完整性验证,其中,所述二维码用于每页数据完整性验证。
5.根据权利要求4所述的方法,其特征在于,根据所述二维码和带有验证码的印章对所述打印文件进行完整性验证包括:
根据所述二维码存储的所属页的查询信息获取本地存储的数据,以此验证所属页数据的完整性;
根据所述印章中的验证码对所述打印文件的页码连续性进行验证,以此验证所述打印文件的完整性。
6.根据权利要求1所述的方法,其特征在于,所述打印文件加密处理包括:
根据所述用户预先设置的密码结合预定加密方式对所述打印文件进行加密处理。
7.根据权利要求1所述的方法,其特征在于,根据所述数据打印请求获取相应的数据包括:
根据所述数据打印请求基于多数据源路由访问控制策略获取相应的数据。
8.一种电子打印文件的生成装置,其特征在于,所述装置包括:
请求接收单元,用于接收来自客户端的用户的数据打印请求,所述数据打印请求包括:用户信息和数据查询信息;
数据获取单元,用于根据所述数据打印请求获取相应的数据;
文件生成单元,用于根据预定格式将所述数据以翻页方式生成打印文件,其中,所述打印文件中的每一页包含:二维码和带有验证码的印章,所述二维码用于存储所属页的查询信息,所述验证码根据所述用户信息、所属页数据信息和前后页关联信息生成;
文件发送单元,用于将所述打印文件加密处理后发送至所述客户端。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
预处理单元,用于根据预定拦截规则对所述数据打印请求进行预处理,以判断是否执行该数据打印请求;
编号生成单元,用于响应于判断结果为执行该数据打印请求,根据预定编号规则为该数据打印请求生成受理编号。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
验证码生成单元,用于基于国密算法对所述用户信息、所属页数据信息和前后页关联信息进行加密生成所述验证码,其中,前后页关联信息包括:前页的验证码和后页数据信息。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
验证单元,用于根据所述二维码和带有验证码的印章对所述打印文件进行完整性验证,其中,所述二维码用于每页数据完整性验证。
12.根据权利要求11所述的装置,其特征在于,所述验证单元包括:
二维码验证模块,用于根据所述二维码存储的所属页的查询信息获取本地存储的数据,以此验证所属页数据的完整性;
验证码验证模块,用于根据所述印章中的验证码对所述打印文件的页码连续性进行验证,以此验证所述打印文件的完整性。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
加密单元,用于根据所述用户预先设置的密码结合预定加密方式对所述打印文件进行加密处理。
14.根据权利要求8所述的装置,其特征在于,所述数据获取单元具体用于:
根据所述数据打印请求基于多数据源路由访问控制策略获取相应的数据。
15.一种电子打印文件的生成系统,其特征在于,所述系统包括:权利要求8至14中任一项所述的电子打印文件的生成装置、存储器,其中,所述存储器用于存储数据、以及所述数据打印请求及其受理编号。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
CN202010247069.XA 2020-03-31 2020-03-31 电子打印文件的生成方法、装置及系统 Active CN111367481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247069.XA CN111367481B (zh) 2020-03-31 2020-03-31 电子打印文件的生成方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247069.XA CN111367481B (zh) 2020-03-31 2020-03-31 电子打印文件的生成方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111367481A true CN111367481A (zh) 2020-07-03
CN111367481B CN111367481B (zh) 2024-01-23

Family

ID=71210828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247069.XA Active CN111367481B (zh) 2020-03-31 2020-03-31 电子打印文件的生成方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111367481B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077630A (zh) * 2023-08-28 2023-11-17 国任财产保险股份有限公司 一种用于电子文件的打印方法及其系统
CN117575743A (zh) * 2024-01-15 2024-02-20 世纪开元智印互联科技集团股份有限公司 基于二维码的照片打印订单确认方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323512A (ja) * 2002-05-08 2003-11-14 Amano Corp 改ざん防止機能を備えたタイムスタンプ付き印刷システム及び複写システム
US20050152006A1 (en) * 2004-01-08 2005-07-14 Yasushi Abe Detection of undesired document alteration and duplication, and generating verification data for such detection
CN105488359A (zh) * 2014-09-19 2016-04-13 吴健康 打印文件原件的保护和验证的方法和装置
CN105786415A (zh) * 2016-01-07 2016-07-20 浪潮通用软件有限公司 一种文件打印的加密方法及装置
CN108255442A (zh) * 2018-01-15 2018-07-06 任海鹏 一种电子发票查验打印系统及方法
US20210073369A1 (en) * 2019-09-11 2021-03-11 Ricoh Company, Ltd. Tampering detection method and apparatus and non-transitory computer-readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323512A (ja) * 2002-05-08 2003-11-14 Amano Corp 改ざん防止機能を備えたタイムスタンプ付き印刷システム及び複写システム
US20050152006A1 (en) * 2004-01-08 2005-07-14 Yasushi Abe Detection of undesired document alteration and duplication, and generating verification data for such detection
CN105488359A (zh) * 2014-09-19 2016-04-13 吴健康 打印文件原件的保护和验证的方法和装置
CN105786415A (zh) * 2016-01-07 2016-07-20 浪潮通用软件有限公司 一种文件打印的加密方法及装置
CN108255442A (zh) * 2018-01-15 2018-07-06 任海鹏 一种电子发票查验打印系统及方法
US20210073369A1 (en) * 2019-09-11 2021-03-11 Ricoh Company, Ltd. Tampering detection method and apparatus and non-transitory computer-readable storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077630A (zh) * 2023-08-28 2023-11-17 国任财产保险股份有限公司 一种用于电子文件的打印方法及其系统
CN117575743A (zh) * 2024-01-15 2024-02-20 世纪开元智印互联科技集团股份有限公司 基于二维码的照片打印订单确认方法、装置、设备及介质
CN117575743B (zh) * 2024-01-15 2024-04-02 世纪开元智印互联科技集团股份有限公司 基于二维码的照片打印订单确认方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111367481B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
EP3720045B1 (en) Blockchain-based data verification method and apparatus
US9720943B2 (en) Columnar table data protection
CN110771095B (zh) 用于实现基于区块链的数字证书的系统和方法
US8595812B2 (en) Tokenized data security
CN110800254B (zh) 用于生成数字标记的系统和方法
CN103201997B (zh) 一种基于Web的文档服务方法和系统
CN110582775A (zh) 利用utxo基础协议基于区块链管理文件的方法及利用其的文件管理服务器
JP2018533320A (ja) 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム
KR102357978B1 (ko) 문서 인증 및 공개 시스템 및 이의 컴퓨터 기반 방법
CN111200501A (zh) 一种基于区块链的电子存证服务系统
CN108009445B (zh) 一种半中心化的可信数据管理系统
CN111367481B (zh) 电子打印文件的生成方法、装置及系统
CN105337735A (zh) 数字证书处理及校验的方法和装置
US11551229B2 (en) Payslip verification for blockchain transaction
CN113128951A (zh) 一种基于企业链码的电子合同管理方法及系统
US11360966B2 (en) Information processing system and method of controlling information processing system
CN107451459A (zh) 使用图片验证码进行验证的方法和装置
CN110113168A (zh) 一种信息认证方法、客户端、系统及计算机可读存储介质
WO2019177788A1 (en) Detecting alterations of journal data structures
CN111753156A (zh) 一种档案远程自助查询系统
CN110111105A (zh) 基于区块链的合同存证方法、设备及存储介质
CN113129087B (zh) 一种基于企业链码的电子发票管理方法及系统
KR101012021B1 (ko) 문서이미지 처리 시스템 및 그 방법
WO2023172190A1 (en) Method and apparatus for accessing data in a plurality of machine readable medium
US20240202820A1 (en) Funding central bank digital currency (cbdc) wallet accounts

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