CN111694809B - 基于区块链的文件过滤方法、装置和计算机设备 - Google Patents
基于区块链的文件过滤方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111694809B CN111694809B CN202010529597.4A CN202010529597A CN111694809B CN 111694809 B CN111694809 B CN 111694809B CN 202010529597 A CN202010529597 A CN 202010529597A CN 111694809 B CN111694809 B CN 111694809B
- Authority
- CN
- China
- Prior art keywords
- file
- filtering
- slices
- workflow
- block chain
- 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.)
- Active
Links
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/18—File system types
- G06F16/182—Distributed file systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于区块链的文件过滤方法、装置、计算机设备和存储介质,通过预设的工作流程对原始文件进行过滤,工作流程中的操作包括以下至少之一:文件过滤或者文件导出。文件过滤和文件导出的过程都与区块链进行交互,利用区块链对每个分布式文件存储节点进行保障从而提高了数据读取的准确度。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的文件过滤方法、装置、计算机设备和存储介质。
背景技术
在对大文件进行过滤的过程中,通常使用分布式文件系统例如hadoop分布式文件系统(Hadoop Distributed File System HDFS),文件切片分布于各个数据节点后虽然存在现有冗余备份,但是在聚合文件时并非能够完全保证是处理完成时文件数据,因此分布式文件系统对存储的数据过滤筛选存在欠缺。
针对相关技术中,大文件过滤的可靠性差的问题,目前尚未提出有效的解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种基于区块链的文件过滤方法、装置、计算机设备和存储介质。
根据本发明的一个方面,提供了一种基于区块链的文件过滤方法,所述方法包括:
根据预设的工作流程对原始文件进行过滤,所述工作流程指示操作的流转,所述操作包括以下至少之一:文件过滤、文件导出;
所述文件过滤包括:将所述原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录所述文件切片的分发结果至第一目录树,并存储所述第一目录树至区块链;所述切片节点根据预设的过滤规则对所述文件切片进行过滤,得到过滤切片,将所述过滤切片存储至过滤切片节点,记录所述过滤切片的存储结果至第二目录树,并存储所述第二目录树至所述区块链;
所述文件导出包括:根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件;导出所述原始文件或者所述过滤文件。
在其中一个实施例中,所述操作还包括文件流转,所述文件流转包括:
获取所述工作流程的下一级流程节点;
将所述过滤文件发送至所述下一级流程节点。
在其中一个实施例中,所述根据预设的工作流程对原始文件进行过滤之前,所述方法包括:
获取所述工作流程中的操作,将所述操作记录至所述区块链。
在其中一个实施例中,获取所述工作流程中的操作并将所述操作记录至所述区块链之后,所述方法包括:
获取所述操作的逻辑关系,并将所述逻辑关系记录至所述区块链,所述逻辑关系指示所述操作的流转规则;
根据所述逻辑关系建立所述工作流程,并将所述工作流程记录至所述区块链。
在其中一个实施例中,所述根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件包括:
获取所述第一目录树以及切片规则,根据所述第一目录树获取切片节点,从所述切片节点获取所述文件切片,在所述文件切片的哈希值与所述区块链中的所述第一目录树中的哈希值匹配的情况下,根据所述切片规则将所述文件切片聚合得到所述原始文件;
获取所述第二目录树,根据所述第二目录树获取过滤切片节点,从所述过滤切片节点获取所述过滤切片,在所述过滤切片的哈希值与所述区块链中的所述第二目录树中的哈希值匹配的情况下,根据所述切片规则将所述过滤切片聚合得到所述过滤文件。
在其中一个实施例中,所述根据预设的工作流程对原始文件进行过滤包括:
获取异常流程,并将所述异常流程记录至所述区块链,其中,在所述操作的流转不符合所述工作流程的情况下,执行所述异常流程。
在其中一个实施例中,所述根据预设的工作流程对原始文件进行过滤包括:
获取所述操作的操作权限,将所述操作权限记录至所述区块链,在满足所述操作权限的情况下,执行所述操作;
获取所述工作流程的流转权限,将所述流转权限记录至所述区块链,在满足所述流转权限的情况下,执行所述操作的流转。
在其中一个实施例中,所述根据预设的工作流程对原始文件进行过滤包括:
获取文件过滤规则,根据所述文件过滤规则执行所述文件过滤操作。
在其中一个实施例中,所述文件导出还包括:
获取文件导出类型,根据所述文件导出类型执行所述文件导出操作。
根据本发明的另一个方面,还提供一种基于区块链的文件过滤装置,所述装置包括文件过滤模块,
所述文件过滤模块根据预设的工作流程对原始文件进行过滤,所述工作流程指示操作的流转,所述操作包括以下至少之一:文件过滤、文件导出;
所述文件过滤包括:将所述原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录所述文件切片的分发结果至第一目录树,并存储所述第一目录树至区块链;所述切片节点根据预设的过滤规则对所述文件切片进行过滤,得到过滤切片,将所述过滤切片存储至过滤切片节点,记录所述过滤切片的存储结果至第二目录树,并存储所述第二目录树至所述区块链;
所述文件导出包括:根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件;导出所述原始文件或者所述过滤文件。
在其中一个实施例中,所述装置还包括工作流获取模块,
所述工作流获取模块用于获取所述操作,将所述操作记录至所述区块链;
并且获取所述工作流程,并将所述工作流程记录至区块链。
根据本发明的另一个方面,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的文件过滤方法。
根据本发明的另一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的文件过滤方法。
上述基于区块链的文件过滤方法、装置、计算机设备和存储介质,通过预设的工作流程对原始文件进行过滤,工作流程中的操作包括以下至少之一:文件过滤或者文件导出。文件过滤和文件导出的过程都与区块链进行交互,利用区块链对每个分布式文件存储节点进行保障从而提高了数据读取的准确度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明一个实施例中基于区块链的文件过滤方法的应用场景图;
图2是根据本发明一个实施例中基于区块链的文件过滤方法的流程图;
图3是根据本发明一个具体实施例中基于区块链的文件过滤方法;
图4是根据本发明一个具体实施例中生成工作流程的流程图;
图5是根据本发明一个具体实施例中文件过滤处理以及文件聚合导出的示意图;
图6是根据本发明一个实施例中基于区块链的文件过滤装置的示意图;
图7是根据本发明一个实施例中基于区块链的文件过滤计算机设备示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本发明一个实施例中基于区块链的文件过滤方法的应用场景图,本申请提供的基于区块链的文件过滤方法,可以应用于如图1所示的应用环境中。其中,如图1所示,区块链网络102、终端104和计算机设备106通过网络进行通信,网络可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。计算机设备106上可以安装有文件过滤平台,终端104可以将文件上传至计算机设备106的文件过滤平台中进行文件过滤,计算机设备106根据预设的工作流程对原始文件进行过滤,工作流程指示操作的流转,操作包括以下至少之一:文件过滤、文件导出;文件过滤包括:将原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录文件切片的分发结果至第一目录树,并存储第一目录树至区块链网络102;切片节点根据预设的过滤规则对文件切片进行过滤,得到过滤切片,将过滤切片存储至过滤切片节点,记录过滤切片的存储结果至第二目录树,并存储第二目录树至区块链网络102;文件导出包括:根据第一目录树聚合文件切片得到原始文件,或者根据第二目录树聚合过滤切片得到过滤文件;以及导出原始文件或者过滤文件至计算机设备106,可选地,将导出的原始文件或者过滤文件反馈至终端104。区块链网络102可以为公有类型、私有类型或联盟类型的区块链网络,计算机设备106可以运行任何适当的计算系统,使其能够作为区块链网络102中的节点。可选地,终端104、计算机设备106可以是云计算系统的节点。终端104可以包括但不限于台式计算机、笔记本电脑、平板电脑计算设备和智能手机等终端设备,计算机设备106可以但不限于通过独立的服务器或者是多个服务器组成的服务器集群来实现。在一些实施例中,终端104和计算机设备106可以是同一个设备。
在一个实施例中,图2是根据本发明一个实施例中基于区块链的文件过滤方法的流程图,如图2所示,提供了一种基于区块链的文件过滤方法,以该方法应用于图1中的计算机设备106以及区块链网络102为例进行说明,包括以下步骤:
步骤S210,将原始文件进行切分得到文件切片,将文件切片分发至切片节点,记录文件切片的分发结果至第一目录树,并存储第一目录树至区块链。可选地,原始文件被上传至中心服务器,中心服务器主要负责文件的管理以及各个用于存储文件切片的数据节点的管理、调度。中心服务器包括文件打碎功能,该功能可以用于将文件进行规则切分,可选地,拆分规则以行计算,不足一行以整行大小进行四舍五入,得到预设大小的文件切片。之后,中心服务器将文件切片分发给切片节点,可选地,用于分发文件切片的数据节点的获取规则采用就近原则以及随机原则,一份文件切片还可以进行多数据节点备份,例如,一份文件切片将被发给一个主数据节点以及两个从数据节点。在一些实施例中,中心服务器会利用心跳检测各个数据节点的信息,数据节点采用主从结构,在中心服务器检测到某数据节点宕机的情况下,该将自动升级“从数据节点”为“主数据节点”,以提高该数据节点的高可用性。文件切片分发完成后,记录分发信息到第一目录树上,并将第一目录树记录至区块链。上述目录树记录了上传的原始文件、文件切片、切片规则、文件切片的哈希值、文件切片所在数据节点等信息,还记录了原始文件与文件切片之间的关系结构,该关系结构的主要表现形式是树状结构,例如1个文件对应1个文件切片或者1个文件对应多个文件切片;
步骤S220,切片节点根据预设的过滤规则对文件切片进行过滤,得到过滤切片,将过滤切片存储至过滤切片节点,记录过滤切片的存储结果至第二目录树,并存储第二目录树至区块链。各个分发到文件切片的数据节点,即切片节点,将根据预设的过滤规则对文件切片进行过滤,上述过滤规则可以是在中心服务器中预设的。在一些实施例中,可以获取终端输入的文件过滤规则,过滤方式可以包括:正则表达式过滤、指定某列数据过滤、指定某行数据过滤、指定某字段所在行过滤、指定某字段所在列过滤或者指定某段数据过滤等,从而使得文件过滤规则更加灵活、能够根据终端的需求进行定制化设置,过滤结果更加准确。文件切片经过过滤后得到过滤切片,将过滤切片保存至过滤切片节点,即用于存储过滤切片的数据节点,可选地,在将过滤切片保存至过滤切片节点的过程中进行多数据节点备份。此外,将过滤切片的存储结果记录到第二目录树中,并将第二目录树存储到区块链上。上述第二目录树可以是在步骤S210中第一目录树的基础上进行补充和扩展的目录树。除了第一目录树中记录的内容,第二目录树中还记录了原始文件、文件分片和过滤切片之间的关系结构、过滤切片的哈希值和过滤切片节点的信息。上述原始文件、文件分片和过滤切片之间的关系结构主要表现形式为树状结构,例如,1个原始文件对应1个文件切片对应1个过滤切片、1个原始文件对应多个文件切片,每个文件切片对应1个过滤切片或者1个文件对应多个文件切片,每个文件切片对应多个过滤切片等;
步骤S230,根据第一目录树聚合文件切片得到原始文件,或者根据第二目录树聚合过滤切片得到过滤文件;导出原始文件或者过滤文件。中心服务器中还可以包括文件整合功能,在该功能被调用的情况下,中心服务器将获取到本地存储的第一目录树,从目录树中获取到文件切片所在切片节点,获取到各个文件切片,根据切片规则进行整合。从切片节点中获取的文件切片进行哈希运算后与存储在区块链中的目录树中的文件切片哈希值进行哈希校验,校验通过即可获取原始文件。此外,文件整合功能还可以获取到本地存储的第二目录树,从第二目录树中获取到过滤切片所在数据节点,从数据节点中获取过滤切片进行哈希运算后与区块链中存储的过滤切片哈希值进行哈希校验,校验通过则可以调用中心服务器的文件整合功能,将过滤切片生成过滤文件。在一些实施例中,中心服务器还包括文件导出功能,文件导出功能获取终端输入的文件导出类型,将过滤切片预转化成与文件导出类型相符的文件格式,文件整合功能将预转化后的过滤切片进行聚合,得到过滤文件。需要说明的是,上述第一目录树和第二目录树不一定是两个完全独立的目录树,例如,本地存储的第一目录树在执行文件过滤之后则进行了目录树的内容更新,从而生成了第二目录树,而区块链上的虽然存储有第一目录树和第二目录树,但是进行文件整合时,只需要查看第二目录树即可获取到整合原始文件和整合过滤文件所需要的信息。
步骤S210至步骤S230中,步骤S210至步骤S220为文件过滤操作,步骤S230为文件导出操作,即预设的工作流包括文件过滤和文件导出两个操作,先进行文件过滤,而后进行文件导出。可选地,该工作流中还可以包括文件获取操作,在该操作中,中心服务器从终端获取到上传的文件,可以是终端通过手动上传或者中心服务器通过扫描指定文件获取,例如通过扫描指定文件全路径、指定文件目录下模糊文件名或者指定文件目录下的指定文件后缀等。优选地,对上传文件的内容进行结构化,例如一行一条数据,可以方便后续对文件进行切分。而工作流程则可以根据具体的过滤需求进行设定,
上述步骤S210至步骤S230,通过预设的工作流程对原始文件进行过滤,工作流程中包以下操作中的至少之一:文件过滤或者文件导出。文件过滤和文件导出的过程都与区块链进行交互,利用区块链对每个分布式文件存储节点进行保障从而提高了数据读取的准确度。
在一些实施例中,工作流程中的操作还包括文件流转,文件流转包括:获取工作流程的下一级流程节点,将文件发送至下一级流程节点。例如,文件的过滤过程包括由不同节点完成的多级过滤过程,则当负责当前级过滤流程的第一流程节点完成文件过滤和文件导出之后,可以通过文件流转操作,将导出的原始文件或者过滤文件流转至负责下一级过滤的第二流程节点,从而可以在第二流程节点执行另外的过滤过程。通过本实施方式,可以实现过滤的流转,从而实现多级流转过滤。
在一些实施例中,获取根据预设的工作流程对原始文件进行过滤之前,还包括:获取工作流程中的操作,将操作记录至区块链。上述操作即工作流中的每一个流程节点需要处理的事件,例如上述文件获取、文件过滤、文件导出和文件流转。可选地,在实际应用中根据过滤的具体步骤,可以将操作进一步细化或者粗略化,例如,文件过滤可以进一步拆分为文件切分、文件过滤和生成目录树的操作,并不限于本申请中所采用的步骤分割方式。本实施方式可以看做是对工作流程中的事件的定义,将这些操作的定义以及定义过程记录至区块链,从而实现了操作定义的记录可查询可恢复,方便后续对工作流程的跟踪、保证过滤过程的准确性。
在一些实施例中,获取工作流程中的操作并将操作记录至区块链之后,还包括以下步骤:获取操作的逻辑关系,并将逻辑关系记录至区块链;根据逻辑关系建立工作流程,并将工作流程记录至区块链。其中,逻辑关系指示操作的流转规则,例如,操作b必须是在操作a完成之后,操作c则必须是在操作b完成之后,因此,在进行工作流程的制定过程中,工作流程中的各个操作要根据上述逻辑关系进行流转。在一些实施例中,在选定操作之后,根据逻辑关系即可生成工作流程或者对工作流程的流转进行校验,可选地,在接收到终端预设的工作流程后,根据逻辑关系对该工作流程逻辑校验,在操作的流转顺序不符合逻辑关系的情况下,抛出异常或者对操作的流转顺序进行调整。将上述逻辑关系、逻辑关系的定义过程和最终得到的工作流程均记录至区块链中,提高了工作流程的可靠性,过滤过程的准确性,同时工作流程也实现了可追溯且工作流程可信。
在一些实施例中,根据预设的工作流程对原始文件进行过滤还包括:获取异常流程,并将异常流程记录至区块链,其中,在操作的流转不符合工作流程的情况下,执行异常流程。预设的工作流程在实际流转中会出现异常状态,即不符合工作流程的流转状态,这些异常状态以均定义至异常流程中,包括操作流转的异常、正常流程的终止和异常流程的终止等,将异常流程的定义及异常状态的定义过程也记录至区块链,该实施方式提高了文件过滤工作流处理异常的能力,增加了工作流程的稳定性,不仅正常的工作流程可信可追溯,异常流转状态也同样可信可追溯,增加了文件过滤工作流程的准确性。
在一些实施例中,根据预设的工作流程对原始文件进行过滤还包括:获取操作的操作权限,将操作权限记录至区块链,在满足操作权限的情况下,执行操作;获取工作流程的流转权限,将流转权限记录至区块链,在满足流转权限的情况下,执行操作的流转。其中,上述操作权限是指节点执行工作流程中各个操作的权限,流转权限是指文件从一个节点流转至另一个节点的权限,在一些实施例中,操作权限还包括对操作进行定义和修改的权限,将上述权限均记录至区块链中。本实施例通过对权限的定义提高了文件过滤工作流程中的流程可靠性和数据安全性。
在一个具体的实施例中,图3是根据本发明一个具体实施例中基于区块链的文件过滤方法,如图3所示,基于区块链的文件过滤包括:
步骤S310,文件获取。获取终端上传的需要进行过滤的文件,可以是手动上传或者根据文件路径或者文件类型进行获取。
步骤S320,获取工作流程。获取预设的工作流程,上述工作流程可以包括单级的工作流程,也可以是包括多级流程节点的工作流程。图4是根据本发明一个具体实施例中生成工作流程的流程图,如图4所示,工作流程的生成包括:
步骤S410,获取操作定义。该操作是获取工作流中每一个流程节点需要处理的事件的定义,该事件可以包括“文件获取”,“文件过滤处理”,“文件聚合导出”,“文件导出流程流转”,将操作定义以及执行该操作定义的过程进行上链,其目的在于每次操作定义的记录可查询恢复;
步骤S420,获取操作的逻辑关系。获取步骤S410中各个操作之间的逻辑关系定义,将该逻辑关系以及对逻辑关系进行定义的过程保存至区块链中;
步骤S430,获取核心工作流程。上述核心工作流程即用于进行文件过滤的工作流程,该过程即对步骤S410中的操作进行串联,并且该串联过程遵循步骤S420中定义的逻辑关系,同时,将上述核心工作流程记录至区块链中;
步骤S440,获取异常流程。异常流程的定义包括步骤S430中的核心工作流程中流程状态异常的情况,将获取到的异常流程的定义将进行上链;
步骤S450,获取权限定义。权限定义包括了步骤S410中各个操作的操作权限、步骤S430中核心工作流程和步骤S440中异常工作流程中的流转权限,也可以包括步骤S410至步骤S440中对操作或者流程的定义权限;
经过步骤S410至步骤S450,即可获取预设的工作流程。
步骤S330,获取文件过滤规则。其中文件过滤规则可以由每一个工作流节点进行自定义;
步骤S340,获取过滤文件类型。用于指定步骤S360中文件聚合导出时的文件类型;
步骤S350,文件过滤处理。该过程将文件进行切片过滤处理,该过程与区块链进行交互,图5是根据本发明一个具体实施例中文件过滤处理以及聚合导出的示意图,如图5所示,文件过滤处理包括以下步骤:
文件输入至中心服务器。中心服务器包括目录树管理、数据节点信息、文件打碎和文件整合等功能,主要负责整体的文件调度以及各个数据节点的信息。文件上传至中心服务器后,中心服务首先检测文件是否上传过,若上传将不再进行上传。将利用文件打碎功能先将文件进行规则切分,正常默认以行计算方式将原始文件切分为多个大小为64mb的文件切片;
文件切分和分发。中心服务器会利用心跳检测各个数据节点的信息,心跳检测是指检测节点是否失效通过轮询每隔固定时间发送一个固定信息给对方,对方回复固定信息,若长时间未回复则判定为该节点宕机。数据节点采用主从结构,若中心服务器检测到某数据节点宕机将自动升级“从数据节点”为“主数据节点”,中心服务将文件切分成文件切片到切片节点。切片节点获取规则可以采用就近原则以及随机原则,一份文件切片进行多数据节点备份,默认为两个数据节点备份,相关信息记录于目录树中,目录树信息将进行上链;
文件过滤。此处各个数据节点调用步骤S330中的文件过滤规则对文件切片进行过滤,过滤会产生过滤切片,过滤切片保存至过滤切片节点,同时将进行多数据节点备份,同时过滤切片相关信息记录于目录树中并进行上链。过滤过程中避免频繁的数据输入和输出,采用缓存服务设定阈值,达到阈值进行刷出。
文件获取。文件获取包括原始文件获取和过滤文件获取,原始文件获取包括根据文件原始路径调用中心服务文件整合功能,首先根据文件原始路径获取到文件目录树,从目录树中获取到文件切片所在数据节点,获取到各个文件切片根据切片规则进行整合,从数据节点中的获取文件切片进行哈希运算后与区块链中存储的目录树中文件切片的哈希值进行哈希校验,校验通过即可获取原始文件保证文件流转的正确性;过滤文件获取包括根据文件原始路径调用中心服务的文件整合功能,首先根据文件原始路径获取到文件目录树,从目录树中获取到过滤导出切片所在数据节点,从数据节点中获取文件切片进行哈希运算后与区块链的文件切片进行哈希校验,校验通过调用文件导出功能。可选地,在校验不通过的情况下,获取备份数据节点中的文件切片或者过滤切片,并对上述切片进行哈希校验;
步骤S360,文件聚合导出。将步骤S350中过滤后的切片进行聚合,该过程与区块链进行交互包括过滤文件切片路径获取和原始文件切片路径获取,调用的文件导出功能里获取步骤S340中定义的过滤文件类型,将过滤切片进行预转化成导出文件类型,文件整合功能则将预转化后的过滤导出切片进行聚合成过滤文件;
步骤S370,处理完成,流转至下一个工作流程节点。该过程是将步骤S360中导出的过滤文件流转至步骤S320中定义的工作流中的下一个流程节点供下一个节点进行过滤,从而实现多级多端大文件数据过滤的功能。
上述基于区块链的文件过滤方法,利用区块链的不可篡改及溯源的特性对于工作流程的执行流程以及流程数据进行保障,从而实现一个流程初始可控,流程过程可信,流程完成可溯源的新型工作流引擎;将区块链工作流与区块链分布式文件过滤系统进行结合完成一个大文件内容多级流转过滤的功能通过工作流引擎去中心化实现了流转可信的工作流程管理以及信息传递,提高了文件流转的安全性。分布式文件系统增强,对于存储数据进行数据筛选过滤整合,同时利用区块链对每个分布式文件存储节点进行保障从而保证读取数据的准确性;多方高效合作对大文件内容进行文件内容过滤,提高了文件过滤的效率。在一些实施例中,该方法还适用于多方协作对文件、资产或者合同等进行编辑。
应该理解的是,虽然图2至图5中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种基于区块链的文件过滤装置,包括文件过滤模块,
所述文件过滤模块根据预设的工作流程对原始文件进行过滤,所述工作流程指示操作的流转,所述操作包括以下至少之一:文件过滤、文件导出;
所述文件过滤包括:将所述原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录所述文件切片的分发结果至第一目录树,并存储所述第一目录树至区块链;所述切片节点根据预设的过滤规则对所述文件切片进行过滤,得到过滤切片,将所述过滤切片存储至过滤切片节点,记录所述过滤切片的存储结果至第二目录树,并存储所述第二目录树至所述区块链;
所述文件导出包括:根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件;导出所述原始文件或者所述过滤文件。
在一个实施例中,图6是根据本发明一个实施例中基于区块链的文件过滤装置的示意图,如图6所示,除了文件过滤模块62该装置还包括工作流获取模块64,工作流获取模块用于获取操作,将操作记录至区块链,并且获取工作流程,并将工作流程记录至区块链。
关于基于区块链的文件过滤装置的具体限定可以参见上文中对于基于区块链的文件过滤方法的限定,在此不再赘述。上述基于区块链的文件过滤装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,图7是根据本发明一个实施例中基于区块链的文件过滤计算机设备示意图,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的文件过滤方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
上述基于区块链的文件过滤计算机设备,通过预设的工作流程对原始文件进行过滤,工作流程中的操作包括以下至少之一:文件过滤或者文件导出。文件过滤和文件导出的过程都与区块链进行交互,利用区块链对每个分布式文件存储节点进行保障从而提高了数据读取的准确度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述基于区块链的文件过滤方法。
上述基于区块链的文件过滤计算机可读存储介质,通过预设的工作流程对原始文件进行过滤,工作流程中的操作包括以下至少之一:文件过滤或者文件导出。文件过滤和文件导出的过程都与区块链进行交互,利用区块链对每个分布式文件存储节点进行保障从而提高了数据读取的准确度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种基于区块链的文件过滤方法,其特征在于,所述方法包括:
根据预设的工作流程对原始文件进行过滤,所述工作流程指示操作的流转,所述操作包括文件过滤和文件导出;
所述文件过滤包括:将所述原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录所述文件切片的分发结果至第一目录树,并存储所述第一目录树至区块链;
所述切片节点根据预设的过滤规则对所述文件切片进行过滤,得到过滤切片,将所述过滤切片存储至过滤切片节点,记录所述过滤切片的存储结果至第二目录树,并存储所述第二目录树至所述区块链;
所述文件导出包括:根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件;导出所述原始文件或者所述过滤文件。
2.根据权利要求1所述的方法,其特征在于,所述操作还包括文件流转,所述文件流转包括:
获取所述工作流程的下一级流程节点;
将所述过滤文件发送至所述下一级流程节点。
3.根据权利要求1所述的方法,其特征在于,所述根据预设的工作流程对原始文件进行过滤之前,所述方法包括:
获取所述工作流程中的操作,将所述操作记录至所述区块链。
4.根据权利要求3所述的方法,其特征在于,获取所述工作流程中的操作并将所述操作记录至所述区块链之后,所述方法包括:
获取所述操作的逻辑关系,并将所述逻辑关系记录至所述区块链,所述逻辑关系指示所述操作的流转规则;
根据所述逻辑关系建立所述工作流程,并将所述工作流程记录至所述区块链。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件包括:
获取所述第一目录树以及切片规则,根据所述第一目录树获取切片节点,从所述切片节点获取所述文件切片,在所述文件切片的哈希值与所述区块链中的所述第一目录树中的哈希值匹配的情况下,根据所述切片规则将所述文件切片聚合得到所述原始文件;
获取所述第二目录树,根据所述第二目录树获取过滤切片节点,从所述过滤切片节点获取所述过滤切片,在所述过滤切片的哈希值与所述区块链中的所述第二目录树中的哈希值匹配的情况下,根据所述切片规则将所述过滤切片聚合得到所述过滤文件。
6.根据权利要求1所述的方法,其特征在于,所述根据预设的工作流程对原始文件进行过滤包括:
获取异常流程,并将所述异常流程记录至所述区块链,其中,在所述操作的流转不符合所述工作流程的情况下,执行所述异常流程。
7.根据权利要求1所述的方法,其特征在于,所述根据预设的工作流程对原始文件进行过滤包括:
获取所述操作的操作权限,将所述操作权限记录至所述区块链,在满足所述操作权限的情况下,执行所述操作;
获取所述工作流程的流转权限,将所述流转权限记录至所述区块链,在满足所述流转权限的情况下,执行所述操作的流转。
8.根据权利要求1所述的方法,其特征在于,所述根据预设的工作流程对原始文件进行过滤包括:
获取文件过滤规则,根据所述文件过滤规则执行所述文件过滤操作。
9.根据权利要求1所述的方法,其特征在于,所述文件导出还包括:
获取文件导出类型,根据所述文件导出类型执行所述文件导出操作。
10.一种基于区块链的文件过滤装置,其特征在于,所述装置包括文件过滤模块,所述文件过滤模块根据预设的工作流程对原始文件进行过滤,所述工作流程指示操作的流转,所述操作包括文件过滤和文件导出;
所述文件过滤包括:将所述原始文件进行切分得到文件切片,将所述文件切片分发至切片节点,记录所述文件切片的分发结果至第一目录树,并存储所述第一目录树至区块链;
所述切片节点根据预设的过滤规则对所述文件切片进行过滤,得到过滤切片,将所述过滤切片存储至过滤切片节点,记录所述过滤切片的存储结果至第二目录树,并存储所述第二目录树至所述区块链;
所述文件导出包括:根据所述第一目录树聚合所述文件切片得到所述原始文件,或者根据所述第二目录树聚合所述过滤切片得到过滤文件;导出所述原始文件或者所述过滤文件。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括工作流获取模块,所述工作流获取模块用于获取所述操作,将所述操作记录至所述区块链;
并且获取所述工作流程,并将所述工作流程记录至区块链。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529597.4A CN111694809B (zh) | 2020-06-11 | 2020-06-11 | 基于区块链的文件过滤方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529597.4A CN111694809B (zh) | 2020-06-11 | 2020-06-11 | 基于区块链的文件过滤方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694809A CN111694809A (zh) | 2020-09-22 |
CN111694809B true CN111694809B (zh) | 2021-05-04 |
Family
ID=72480369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010529597.4A Active CN111694809B (zh) | 2020-06-11 | 2020-06-11 | 基于区块链的文件过滤方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694809B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883433A (zh) * | 2021-02-04 | 2021-06-01 | 湖北宸威玺链信息技术有限公司 | 基于区块链的数据导出安全检测方法及系统及装置及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417282B1 (en) * | 2015-07-22 | 2019-09-17 | Wells Fargo Bank, N.A. | Entity mapping |
CN107247773B (zh) * | 2017-06-07 | 2018-05-15 | 北京邮电大学 | 一种基于区块链的在分布式数据库中进行交易查询的方法 |
CN108446376B (zh) * | 2018-03-16 | 2022-04-08 | 众安信息技术服务有限公司 | 数据存储方法与装置 |
CN109146447B (zh) * | 2018-07-09 | 2022-07-05 | 矩阵元技术(深圳)有限公司 | 区块链透明分片方法、装置及系统 |
CN110321326B (zh) * | 2019-05-17 | 2021-08-10 | 杭州亦笔科技有限公司 | 一种区块链文件分片检索方法 |
CN110751554A (zh) * | 2019-09-20 | 2020-02-04 | 暨南大学 | 区块链中数字货币的智能监测方法及系统 |
-
2020
- 2020-06-11 CN CN202010529597.4A patent/CN111694809B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111694809A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032824B (zh) | 数据库校验方法、装置、计算机设备和存储介质 | |
US20240020038A1 (en) | Distributed Storage Method and Device | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110647582A (zh) | 区块链网络共识校验的方法、装置、存储介质和计算机设备 | |
CN110868424A (zh) | 基于区块链的数据共享方法、装置、计算机设备及存储介质 | |
CN109144829B (zh) | 故障处理方法、装置、计算机设备和存储介质 | |
CN106878363B (zh) | 一种信息处理方法、装置及系统 | |
CN109460252B (zh) | 基于git的配置文件处理方法、装置和计算机设备 | |
US11175909B2 (en) | Software discovery using exclusion | |
US11361110B2 (en) | File verification method, file verification system and file verification server | |
CN111865691B (zh) | 基于人工智能的报警文件分发方法、装置、设备和介质 | |
WO2020216077A1 (zh) | 一种区块链事件去重方法、装置、计算机设备及存储介质 | |
CN108255994A (zh) | 一种基于数据库快照的数据库版本管理方法 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN112882846B (zh) | 消息队列的数据处理方法、装置、计算机设备和存储介质 | |
CN109542602B (zh) | 一种基于区块链的分布式任务处理方法、装置及系统 | |
CN112506870A (zh) | 数据仓库增量更新方法、装置及计算机设备 | |
CN111694809B (zh) | 基于区块链的文件过滤方法、装置和计算机设备 | |
CN111538754A (zh) | 一种数据归集管理系统、方法、装置、设备和存储介质 | |
CN115994044A (zh) | 基于监控服务的数据库故障处理方法、装置及分布式集群 | |
CN106980618B (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN114936254A (zh) | 云链融合机制下的食品安全大数据共享管理方法及系统 | |
CN109033184B (zh) | 数据处理方法及装置 | |
CN114172785A (zh) | 告警信息处理方法、装置、设备和存储介质 | |
CN111708795B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211207 Address after: Room 508, floor 5, block C, No. 28, Xinjiekou Wai Street, Xicheng District, Beijing 100032 Patentee after: Beijing yunlianqulian Digital Technology Co.,Ltd. Address before: Room 1703, building a, building 2, 399 Danfeng Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province 310051 Patentee before: HANGZHOU YUNXIANG NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |