CN114238218A - 招投标数据处理方法、装置、计算机设备和存储介质 - Google Patents
招投标数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114238218A CN114238218A CN202111454288.6A CN202111454288A CN114238218A CN 114238218 A CN114238218 A CN 114238218A CN 202111454288 A CN202111454288 A CN 202111454288A CN 114238218 A CN114238218 A CN 114238218A
- Authority
- CN
- China
- Prior art keywords
- data
- bidding document
- block
- fingerprint
- database
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 239000012634 fragment Substances 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000011218 segmentation Effects 0.000 claims abstract description 26
- 238000013075 data extraction Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Primary Health Care (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Water Supply & Treatment (AREA)
- Public Health (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种招投标数据处理方法,应用于区块链技术领域,用于提高招投标数据存取证安全性。所述方法包括:当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;将招投标文件片段存储至数据库的集合文档中,生成招投标文件片段的文件标识和校验码;对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息;将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中;当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹;确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的招投标数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着电力行业的招标投标技术的发展,越来越多的电子招标投标在互联网上进行,电子招投标的方式也为用户和企业带来了便利。但是,招投标信息容易遭受内部或外部的攻击,导致招投标信息容易被恶意篡改,使得招投标信息的安全性不够高。
传统技术中,通常采用密钥加密或者安装电子招标U盾的方式来保障招投标信息的安全。然而,U盾的安装方式较为繁琐,需要在计算机上安装驱动程序,该驱动程序也容易与计算机中的其他U盾驱动程序起冲突,无法高效保护招投标数据的方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高招投标数据存证和取证安全性的招投标数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种招投标数据处理方法。所述方法包括:
当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
将所述文件标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
在其中一个实施例中,数据指纹存储至区块链中,包括:
将所述数据指纹存储在所述区块链的区块中;所述区块中还包含所述数据指纹的区块标识和区块字段。
在其中一个实施例中,当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹,包括:
根据所述数据查询请求,检测所述区块链中区块的区块标识;
当检测到所述区块的区块标识不为空值时,确认所述区块为与所述数据查询请求相关联的区块;
对所述区块的区块字段进行解码处理,得到所述待查看数据指纹。
在其中一个实施例中,对所述区块的区块字段进行字段解码处理,包括:
对所述区块字段进行数据分割处理,得到处理后的区块字段;
当所述处理后的区块字段的字节长度不符合预设字节长度的倍数时,对所述处理后的区块字段进行数据对齐处理,得到目标区块字段;
对所述目标区块字段进行解码处理。
在其中一个实施例中,确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段,包括:
根据所述待查看数据指纹中的文件标识查询所述数据库的集合文档,得到所述待查看数据指纹的名称信息;
根据所述名称信息,从所述待查看数据指纹中确定所述目标数据指纹;
当所述目标数据指纹中的部门信息与所述数据查询请求中携带的部门信息相匹配时,从所述数据库的集合文档中,获取与所述目标数据指纹的名称信息对应的招投标文件片段。
在其中一个实施例中,数据库中还存储有所述目标数据指纹的校验码;
在从所述数据库的集合文档中,获取与所述目标数据指纹的名称信息对应的招投标文件片段之前,还包括:
当所述数据库中存储的校验码与所述目标数据指纹中的校验码相匹配时,确认所述数据库中存储的校验码对应的招投标文件片段正确。
第二方面,本申请还提供了一种招投标数据处理装置。所述装置包括:
文件分割模块,用于当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
文件存储模块,用于将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
数据提取模块,用于对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
指纹存储模块,用于将所述数据标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
数据查询模块,用于当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
文件获取模块,用于确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
将所述文件标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
将所述文件标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
将所述文件标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
上述招投标数据处理方法、装置、计算机设备、存储介质和计算机程序产品,当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;然后将招投标文件片段存储至数据库的集合文档中,并生成招投标文件片段的文件标识和校验码;对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息;进而将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中;当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹,确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段。采用本方法,通过将招投标文件存储至数据库中,将招投标文件的数据指纹存储至区块链中,使得在保障招投标文件的数据安全的同时,还能够大幅降低区块链的存证成本,从而提高了招投标文件的存证效率;通过目标数据指纹来获取数据库中对应的招投标文件,提高了招投标文件的取证安全性。
附图说明
图1为一个实施例中招投标数据处理方法的应用环境图;
图2为一个实施例中招投标数据处理方法的流程示意图;
图3为一个实施例中招投标文件的存储步骤的流程示意图;
图4为另一个实施例中招投标数据处理方法的流程示意图;
图5为一个实施例中招投标数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的招投标数据处理方法,可以应用于如图1所示的应用环境中。其中,终端101通过网络与区块链服务器102进行通信,终端101还连接有数据库103。其中,数据库103通过集合文档的方式存储招投标文件。当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;将招投标文件片段存储至数据库103的集合文档中,并生成招投标文件片段的文件标识和校验码;对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息;进而将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链服务器102中;当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹,确定待查看数据指纹中的目标数据指纹,从数据库103中获取与目标数据指纹对应的招投标文件片段。其中,终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。区块链服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种招投标数据处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S201,当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;招投标文件片段的数据长度小于或者等于预设数据长度。
其中,预设的数据长度可以是256kb,当然也可以根据实际情况进行调整,例如,根据数据库对存储的文件的数据长度的要求进行调整。
其中,数据库可以是基于分布式文件存储的数据库。
具体地,获取招投标文件,通过基于分布式文件存储的数据库,能够将多种文件格式的招投标文件转变为二进制的Json格式,进而数据库能够存储多种文件格式的招投标文件,例如mongodb数据库。检测招投标文件的数据长度,当检测到招投标文件的数据长度大于数据库的预设数据长度时,根据预设数据长度,对招投标文件进行数据分割处理,得到多个招投标文件片段,将招投标文件片段存储至数据库中。
实际应用中,用户包含有部门用户、管理员和普通用户,招投标文件与用户之间的存证、取证关系如表1所示。基于用户的属性信息和招投标文件的部门信息,对存证和取证过程进行了权限设置,属性信息不同的用户对应于不同的取证范围,并且只有属性信息为“AdminUser”的管理员才能够进行投标文件的存证。
表1
其中,管理员的存证权限为“Y”,表示管理员能够进行招投标文件的存证;部门用户和普通用户的存证权限为“N”,表示部门用户和普通用户不能进行招投标文件的存证。
步骤S202,将招投标文件片段存储至数据库的集合文档中,生成招投标文件片段的文件标识和校验码。
其中,集合文档包括数据集合文档和元数据集合文档。
具体地,从招投标文件片段中提取出文件数据和文件元数据,将招投标文件片段的文件数据存储在数据库的数据集合文档中,将招投标文件片段的文件元数据存储在数据库的元数据集合文档中,当数据库接收到招投标文件片段的文件数据和文件元数据时,生成每个招投标文件片段的文件标识,将文件标识存储至对应的数据集合文档和元数据集合文档中,并通过数据库生成每个招投标文件的校验码。
步骤S203,对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息。
具体地,通过数据库对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息。其中,招投标文件的部门信息用于控制招投标文件的取证权限。
实际应用中,招投标文件的存储过程如图3所示,数据库能够存储文档、图片、音频和视频等多种格式的招投标文件,使用GridFS作为mongodb数据库的文件存储驱动,将获取的招投标文件按照256kb的数据长度进行数据分割,得到多个招投标文件片段,将招投标文件片段的数据存储在mongodb数据库的数据集合文档fs.chunks中,将招投标文件片段的数据存储在mongodb数据库的数据集合文档fs.files中。当数据库成功存储招投标文件片段的数据和元数据时,数据库生成每个招投标片段的文件标识(Files_ID),并通过数据库调用密码散列函数为每个招投标文件片段生成MD5校验码(Files_MD5),获取招投标文件的部门信息(Files_Department)。由此,在获取到文件标识、校验码和部门信息之后,将文件标识、校验码和部门信息作为处理依据执行后续的招投标数据的上链存储步骤。
步骤S204,将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中。
具体地,对数据库中存储的招投标文件片段的文件标识、验证码和部门信息进行复制,然后将复制得到的文件标识、校验码和部门信息,作为招投标文件片段的数据指纹,将数据指纹发送至区块链服务器中根据智能合约进行存储。
步骤S205,当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹。
具体地,当终端接收到数据查询请求时,对数据查询请求进行数据解析处理,得到对应的区块信息,根据区块信息,查询区块链的区块中与数据查询请求相匹配的数据指纹,得到待查看数据指纹。
步骤S206,确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段。
具体地,获取待查看数据指纹的名称信息,在终端上展示所有待查看数据指纹的名称信息,用户根据数据查询需求,在终端的显示页面上展示的待查看数据指纹的名称信息中,选择任意一个或多个待查看数据指纹作为目标数据指纹进行查询操作,终端根据用户的查询操作返回的目标数据指纹,查询得到数据库中与目标数据指纹相对应的招投标文件片段,
上述投标数据处理方法中,当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;然后将招投标文件片段存储至数据库的集合文档中,并生成招投标文件片段的文件标识和校验码;对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息;进而将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中;当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹,确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段。采用本方法,通过基于分布式文件存储的数据库存储招投标文件,能够存储多种文件格式的招投标文件,通过基于分布式文件存储的数据库将招投标文件转换为二进制的Json格式存储,还能够减少文件的存储空间;通过将招投标文件存储至数据库中,将招投标文件的数据指纹存储至区块链中,使得在保障招投标文件的数据安全的同时,还能够大幅降低区块链的存证成本,从而提高了招投标文件的存证效率;通过目标数据指纹来获取数据库中对应的招投标文件,提高了招投标文件的取证安全性。
在一个实施例中,数据指纹存储至区块链中,具体包括如下内容:将数据指纹存储在区块链的区块中;区块中还包含数据指纹的区块标识和区块字段。
其中,区块标识用于表示该区块中包含的数据类型、数据内容等信息。
具体地,将数据指纹发送至区块链服务器,区块链服务器在接收到数据指纹之后,将数据指纹转换为键值(Key-Value)形式存储在区块中;区块中还包含数据指纹的区块标识、区块字段、区块号、区块哈希值、交易哈希值、交易发送者和交易接收者。
实际应用中,区块中包含的信息如表2所示。
表2
本实施例中,通过将数据库生成的文件标识、校验码和获取的部门信息作为数据指纹,能够提高招投标文件的上链存储效率,通过目标数据指纹来获取数据库中对应的招投标文件,提高了招投标文件的取证安全性。
在一个实施例中,上述步骤S205,当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹,具体包括如下内容:根据数据查询请求,检测区块链中区块的区块标识;当检测到区块的区块标识不为空值时,确认区块为与数据查询请求相关联的区块;对区块的区块字段进行解码处理,得到待查看数据指纹。
具体地,当终端接收到数据查询请求时,对数据查询请求进行数据解析处理,得到对应的区块信息,根据区块信息,检测区块链中的各区块中与该区块信息对应的区块标识,当检测到区块中与该区块信息对应的区块标识不为空值时,确认该区块为与数据查询请求相关联的区块,通过对该区块中的区块字段进行解码处理,进而得到待查看数据指纹。
例如,区块标识中使用“transactionlength”字段表示该区块中是否包含招投标文件的投标信息,当“transactionlength”字段不为0时,确认该区块中包含投标信息,然后将区块哈希值作为索引,能够获取区块中的投标序列。
本实施例中,通过区块中的区块标识,能够快速查询得到与数据查询请求相关联的区块,通过对该区块进行解码处理,得到待查看数据指纹,通过数据指纹来获取数据库中对应的招投标文件,提高了招投标文件的取证安全性。
在一个实施例中,对区块的区块字段进行字段解码处理,具体包括如下内容:对区块字段进行数据分割处理,得到处理后的区块字段;当处理后的区块字段的字节长度不符合预设字节长度的倍数时,对处理后的区块字段进行数据对齐处理,得到目标区块字段;对目标区块字段进行解码处理。
其中,区块字段包含有函数选择器信息和编码信息。
具体地,根据区块字段中编码信息所处的字节位置,对区块字段进行数据分割处理,得到处理后的区块字段,检测处理后的区块字段的字节长度是否为预设字节长度的倍数,当处理后的区块字段的字节长度不符合预设字节长度的倍数时,对处理后的区块字段进行数据对齐处理,得到字节长度符合预设字节长度的倍数的目标区块字段,对目标区块字段进行解码,得到招投标文件中的合约信息,即招投标文件存证的数据指纹。
实际应用中,如表2所示,区块中的区块字段可以为Input字段。其中,Input字段的前4个字节指定了函数选择器,为合约函数的KECCAK256算法哈希值;参数编码中的第一个参数占32字节,则Input字段接下来的32个字节为参数编码的第一个参数,表示非固定大小字符串的字节偏移量;参数编码中的第二个参数占32字节,进而Input字段再接着的32个字节为参数编码的第二个参数,表示存证的字符串长度的十六进制编码;参数编码的第三个参数所占的字节长度为32的倍数,若Input字段中第三个参数的字节长度不满足32字节的倍数,则将Input字段中第三个参数的数据左对齐输出,在参数编码的右边补0扩展到32字节的倍数,得到目标Input字段,按照ASCII解码对目标Input字段进行解码处理,得到根据智能合约存储的数据指纹。
本实施例中,通过对区块中的区块字段进行数据分割和解码,能够获取到区块链中存储的招投标文件的数据指纹,进而通过数据指纹来获取数据库中对应的招投标文件,提高了招投标文件的取证安全性。
在一个实施例中,上述步骤S206,确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段,包括:根据待查看数据指纹中的文件标识查询数据库的集合文档,得到待查看数据指纹的名称信息;根据名称信息,从待查看数据指纹中确定目标数据指纹;当目标数据指纹中的部门信息与数据查询请求中携带的部门信息相匹配时,从数据库的集合文档中,获取与目标数据指纹的名称信息对应的招投标文件片段。
具体地,根据待查看数据指纹中的文件标识,查询数据库中的集合文档,查询成功时返回该数据指纹对应的招投标文件的名称信息,终端将所有的名称信息展示在界面中,用户从终端展示的名称信息中,确定目标数据指纹,终端通过GetDepartmentInfo()函数来获取用户所属的部门信息,根据目标数据指纹的部门信息,判断用户的部门信息与目标数据指纹的部门信息是否匹配,若两者不匹配,则通过GetAttributeValue()函数来获取用户的属性信息,并判断用户的属性信息是否为管理员;当用户的部门信息与目标数据指纹的部门信息不匹配或者用户的属性信息不属于管理员时,终端在页面中显示没有权限查看此条信息的提示语句;当用户的部门信息与目标数据指纹的部门信息相匹配或者用户的属性信息为管理员时,从数据库的集合文档中,查询并下载与目标数据指纹的名称信息对应的招投标文件片段,将下载的招投标文件片段可以还原为完整的招投标文件的形式、也可以以文件片段的形式显示在终端页面中。
实际应用中,如表1所示,管理员可以取证所有的招投标文件,部门用户只能取证与部门信息相匹配的招投标文件和公开的招投标文件,普通用户只能取证公开的招投标文件,如投标的公示文件。
举例说明,获取到数据指纹后,将数据指纹发送至MongoDB数据库,MongoDB数据库使用GridFS文件驱动,并以file_id(文件标识)为索引查询招投标文件,查询成功则返回招投标文件的名称信息,使用MongoDB数据库中mongofiles的get命令下载对应的招投标文件,进行电子证据的还原。
本实施例中,通过区块中的区块标识,能够快速查询得到与数据查询请求相关联的区块,通过对该区块进行解码处理,得到待查看数据指纹,通过数据指纹来获取数据库中对应的招投标文件,并验证用户是否具备相应的查看权限,提高了招投标文件的取证安全性。
在一个实施例中,数据库中还存储有目标数据指纹的校验码;在从数据库的集合文档中,获取与目标数据指纹的名称信息对应的招投标文件片段之前,还包括:当数据库中存储的校验码与目标数据指纹中的校验码相匹配时,确认数据库中存储的校验码对应的招投标文件片段正确。
其中,校验码可以通过数据库调用哈希算法或者加密算法对招投标文件进行处理后得到。
具体地,在数据库的集合文档中,查询得到与目标数据指纹的名称信息对应的招投标文件片段时,从数据库中获取该招投标文件片段的校验码,判断数据库中存储的该招投标文件片段的校验码与目标数据指纹中的校验码是否匹配;当数据库中存储的该招投标文件片段的校验码与目标数据指纹中的校验码相匹配时,确认该招投标文件片段未被修改,即该招投标文件片段正确,当数据库接收到该招投标文件片段正确的反馈信息后,通过数据库中mongofiles的get命令下载该招投标文件片段;当数据库中存储的该招投标文件片段的校验码与目标数据指纹中的校验码不匹配时,数据库返回文件错误提示信息至终端。
本实施例中,通过判断数据库招投标文件片段的校验码与目标数据指纹中的校验码是否匹配,能够验证数据库中存储的招投标文件在存证前后的数据一致性,从而提高了招投标文件的取证安全性。
在一个实施例中,如图4所示,提供了另一种招投标数据处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S401,当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段。
步骤S402,将招投标文件片段存储至数据库的集合文档中,生成招投标文件片段的文件标识和校验码;对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息。
步骤S403,将文件标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中。
步骤S404,根据数据查询请求,检测区块链中区块的区块标识;当检测到区块的区块标识不为空值时,确认区块为与数据查询请求相关联的区块。
步骤S405,对区块字段进行数据分割处理,得到处理后的区块字段;当处理后的区块字段的字节长度不符合预设字节长度的倍数时,对处理后的区块字段进行数据对齐处理,得到目标区块字段。
步骤S406,对目标区块字段进行解码处理。
步骤S407,根据待查看数据指纹中的文件标识查询数据库的集合文档,得到待查看数据指纹的名称信息;根据名称信息,从待查看数据指纹中确定目标数据指纹。
步骤S408,当数据库中存储的校验码与目标数据指纹中的校验码相匹配时,确认数据库中存储的校验码对应的招投标文件片段正确。
步骤S409,当目标数据指纹中的部门信息与数据查询请求中携带的部门信息相匹配时,从数据库的集合文档中,获取与目标数据指纹的名称信息对应的招投标文件片段。
上述招投标数据处理方法,能够提供以下有益效果:
(1)通过基于分布式文件存储的数据库存储招投标文件,能够存储多种文件格式的招投标文件,通过基于分布式文件存储的数据库将招投标文件转换为二进制的Json格式存储,还能够减少文件的存储空间;
(2)通过将招投标文件存储至数据库中,将招投标文件的数据指纹存储至区块链中,使得在保障招投标文件的数据安全的同时,还能够大幅降低区块链的存证成本,从而提高了招投标文件的存证效率;
(3)通过目标数据指纹来获取数据库中对应的招投标文件,验证用户的属性信息和部门信息,能够获取用户的存取证权限,并判断数据库招投标文件片段的校验码与目标数据指纹中的校验码是否匹配,从而验证数据库中存储的招投标文件在存证前后的数据一致性,进而提高了招投标文件的取证安全性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的招投标数据处理方法的招投标数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个招投标数据处理装置实施例中的具体限定可以参见上文中对于招投标数据处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种招投标数据处理装置500,包括:文件分割模块501、文件存储模块502、数据提取模块503、指纹存储模块504、数据查询模块505和文件获取模块506,其中:
文件分割模块501,用于当获取的招投标文件的数据长度大于数据库的预设数据长度时,对招投标文件进行数据分割处理,得到招投标文件片段;招投标文件片段的数据长度小于或者等于预设数据长度。
文件存储模块502,用于将招投标文件片段存储至数据库的集合文档中,生成招投标文件片段的文件标识和校验码。
数据提取模块503,用于对招投标文件片段进行数据提取处理,得到招投标文件片段的部门信息。
指纹存储模块504,用于将数据标识、校验码和部门信息,作为招投标文件片段的数据指纹并存储至区块链中。
数据查询模块505,用于当接收到数据查询请求时,从区块链中查询得到与数据查询请求相关联的待查看数据指纹。
文件获取模块506,用于确定待查看数据指纹中的目标数据指纹,从数据库中获取与目标数据指纹对应的招投标文件片段。
在一个实施例中,指纹存储模块504,还用于将数据指纹存储在区块链的区块中;区块中还包含数据指纹的区块标识和区块字段。
在一个实施例中,数据查询模块505,还用于根据数据查询请求,检测区块链中区块的区块标识;当检测到区块的区块标识不为空值时,确认区块为与数据查询请求相关联的区块;对区块的区块字段进行解码处理,得到待查看数据指纹。
在一个实施例中,招投标数据处理装置500还包括字段解码模块,用于对区块字段进行数据分割处理,得到处理后的区块字段;当处理后的区块字段的字节长度不符合预设字节长度的倍数时,对处理后的区块字段进行数据对齐处理,得到目标区块字段;对目标区块字段进行解码处理。
在一个实施例中,文件获取模块506,还用于根据待查看数据指纹中的文件标识查询数据库的集合文档,得到待查看数据指纹的名称信息;根据名称信息,从待查看数据指纹中确定目标数据指纹;当目标数据指纹中的部门信息与数据查询请求中携带的部门信息相匹配时,从数据库的集合文档中,获取与目标数据指纹的名称信息对应的招投标文件片段。
在一个实施例中,数据库中还存储有目标数据指纹的校验码;招投标数据处理装置500还包括文件验证模块,用于当数据库中存储的校验码与目标数据指纹中的校验码相匹配时,确认数据库中存储的校验码对应的招投标文件片段正确。
上述招投标数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种招投标数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种招投标数据处理方法,其特征在于,所述方法包括:
当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
将所述文件标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
2.根据权利要求1所述的方法,其特征在于,所述数据指纹存储至区块链中,包括:
将所述数据指纹存储在所述区块链的区块中;所述区块中还包含所述数据指纹的区块标识和区块字段。
3.根据权利要求2所述的方法,其特征在于,所述当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹,包括:
根据所述数据查询请求,检测所述区块链中区块的区块标识;
当检测到所述区块的区块标识不为空值时,确认所述区块为与所述数据查询请求相关联的区块;
对所述区块的区块字段进行解码处理,得到所述待查看数据指纹。
4.根据权利要求3所述的方法,其特征在于,所述对所述区块的区块字段进行字段解码处理,包括:
对所述区块字段进行数据分割处理,得到处理后的区块字段;
当所述处理后的区块字段的字节长度不符合预设字节长度的倍数时,对所述处理后的区块字段进行数据对齐处理,得到目标区块字段;
对所述目标区块字段进行解码处理。
5.根据权利要求3所述的方法,其特征在于,所述确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段,包括:
根据所述待查看数据指纹中的文件标识查询所述数据库的集合文档,得到所述待查看数据指纹的名称信息;
根据所述名称信息,从所述待查看数据指纹中确定所述目标数据指纹;
当所述目标数据指纹中的部门信息与所述数据查询请求中携带的部门信息相匹配时,从所述数据库的集合文档中,获取与所述目标数据指纹的名称信息对应的招投标文件片段。
6.根据权利要求1所述的方法,其特征在于,所述数据库中还存储有所述目标数据指纹的校验码;
在从所述数据库的集合文档中,获取与所述目标数据指纹的名称信息对应的招投标文件片段之前,还包括:
当所述数据库中存储的校验码与所述目标数据指纹中的校验码相匹配时,确认所述数据库中存储的校验码对应的招投标文件片段正确。
7.一种招投标数据处理装置,其特征在于,所述装置包括:
文件分割模块,用于当获取的招投标文件的数据长度大于数据库的预设数据长度时,对所述招投标文件进行数据分割处理,得到招投标文件片段;所述招投标文件片段的数据长度小于或者等于所述预设数据长度;
文件存储模块,用于将所述招投标文件片段存储至所述数据库的集合文档中,生成所述招投标文件片段的文件标识和校验码;
数据提取模块,用于对所述招投标文件片段进行数据提取处理,得到所述招投标文件片段的部门信息;
指纹存储模块,用于将所述数据标识、所述校验码和所述部门信息,作为所述招投标文件片段的数据指纹并存储至区块链中;
数据查询模块,用于当接收到数据查询请求时,从所述区块链中查询得到与所述数据查询请求相关联的待查看数据指纹;
文件获取模块,用于确定所述待查看数据指纹中的目标数据指纹,从所述数据库中获取与所述目标数据指纹对应的招投标文件片段。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111454288.6A CN114238218A (zh) | 2021-12-01 | 2021-12-01 | 招投标数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111454288.6A CN114238218A (zh) | 2021-12-01 | 2021-12-01 | 招投标数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238218A true CN114238218A (zh) | 2022-03-25 |
Family
ID=80752574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111454288.6A Pending CN114238218A (zh) | 2021-12-01 | 2021-12-01 | 招投标数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238218A (zh) |
-
2021
- 2021-12-01 CN CN202111454288.6A patent/CN114238218A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552640B2 (en) | In-situ data verification for the cloud | |
US10754634B1 (en) | Customized application package with context specific token | |
US9514312B1 (en) | Low-memory footprint fingerprinting and indexing for efficiently measuring document similarity and containment | |
US9542864B2 (en) | Methods and apparatus for digital steganography | |
US20170070492A1 (en) | Verification of data set components using digitally signed probabilistic data structures | |
US11138295B2 (en) | Method for securely updating firmware components and docking station using the same | |
CN111008034B (zh) | 一种补丁生成方法及装置 | |
WO2021114614A1 (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
CN110516471B (zh) | 基于信息安全的产品推广方法及相关设备 | |
CN112073444B (zh) | 数据集的处理方法、装置和服务器 | |
CN112001376B (zh) | 基于开源组件的指纹识别方法、装置、设备及存储介质 | |
CN112131049A (zh) | 基于云存储的数据存储方法、装置、计算机设备及存储介质 | |
CN114238874A (zh) | 数字签章验证方法、装置、计算机设备和存储介质 | |
CN115659417A (zh) | 审计日志存储方法、验证方法、装置和计算机设备 | |
CN111224826B (zh) | 基于分布式系统的配置更新方法、设备、系统及介质 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN109002710B (zh) | 一种检测方法、装置及计算机可读存储介质 | |
CN114238218A (zh) | 招投标数据处理方法、装置、计算机设备和存储介质 | |
US20170373856A1 (en) | Prefix fingerprint | |
CN114745173A (zh) | 登陆验证方法、装置、计算机设备、存储介质和程序产品 | |
CN114091122A (zh) | 网站防篡改方法、装置、计算机设备和存储介质 | |
CN115688195B (zh) | 区块访问控制方法、鉴权方法、装置、设备和存储介质 | |
US20230036299A1 (en) | Method of automatically creating accounts, electronic device, and computer storage medium | |
US20230344640A1 (en) | Methods and system of preventing duplication of encrypted data |
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 |