CN117251416B - 一种文件扫描方法、装置、计算机设备及存储介质 - Google Patents

一种文件扫描方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN117251416B
CN117251416B CN202311490232.5A CN202311490232A CN117251416B CN 117251416 B CN117251416 B CN 117251416B CN 202311490232 A CN202311490232 A CN 202311490232A CN 117251416 B CN117251416 B CN 117251416B
Authority
CN
China
Prior art keywords
data
file
variable
scanning
fileitem
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
Application number
CN202311490232.5A
Other languages
English (en)
Other versions
CN117251416A (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.)
Shenzhen Ruan Niu Technology Group Co ltd
Original Assignee
Shenzhen Ruan Niu Technology Group Co ltd
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 Shenzhen Ruan Niu Technology Group Co ltd filed Critical Shenzhen Ruan Niu Technology Group Co ltd
Priority to CN202311490232.5A priority Critical patent/CN117251416B/zh
Publication of CN117251416A publication Critical patent/CN117251416A/zh
Application granted granted Critical
Publication of CN117251416B publication Critical patent/CN117251416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件扫描方法、装置、计算机设备及存储介质,该方法包括:通过代码构建工具创建数据管理结构和数据模型;创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,获取json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;遍历获取rootNodeDic字典中的RootNode对象,生成FileItem对象,并保存至变量DataManager allFileItems中;将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;响应于用户的搜索请求,基于搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。本发明可实现对于文件树状节点的搜索和筛选的效果,提高文件扫描适用性。

Description

一种文件扫描方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机软件技术领域,特别涉及一种文件扫描方法、装置、计算机设备及存储介质。
背景技术
在当前一些文件扫描软件中,文件搜索和类型筛选的交互一直深受用户的诟病。在漫长的搜索过程中,用户无法快速筛选出需要的文件类型,也无法根据关键词,快速搜索到匹配的文件名,极大地降低了用户的操作体验。例如,在常规的文件扫描过程中,建立文件树状节点的算法流程一般是:使用for循环遍历当前扫描出来的文件,再使用递归的方式遍历已存在的树状结构,然后根据for循环遍历的当前文件的路径信息,以在树状结构中找到对应的父节点,并将其***到子节点当中。这种算法的缺点是时间复杂度为O(N) O(k^(log N)),即时间复杂度很高。并且,具体的时间复杂度还受到树的形状和操作的性质的影响,所以这种算法的效率比较低。而且在文件扫描过程中,上述方法不支持对文件进行搜索、类型筛等操作,又或者是即便支持搜索操作,但搜索到的数据无法及时同步,导致使用效果较差。
发明内容
本发明实施例提供了一种文件扫描方法、装置、计算机设备及存储介质,旨在实现对于文件树状节点的搜索和筛选的效果,提高文件扫描适用性。
第一方面,本发明实施例提供了一种文件扫描方法,包括:
通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManagerallFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
响应于用户的搜索请求,基于所述搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
第二方面,本发明实施例提供了一种文件扫描装置,包括:
数据创建单元,用于通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManager allFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
字典创建单元,用于创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
第一对象生成单元,用于遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
筛选组装单元,用于将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
搜索扫描单元,用于响应于用户的搜索请求,基于所述搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的文件扫描方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的文件扫描方法。
本发明实施例通过良好的数据模型搭建,和对数据管理类的划分,充分体现单一职责原则,在降低数据组装时间复杂度的同时,可以支持在对当前扫描过程中,建立树状节点和快速响应用户的操作需求能够同时进行,并支持实时显示用户的搜索和筛选操作,从而达到对于文件树状节点的搜索和筛选的效果,提高文件扫描适用性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件扫描方法的流程示意图;
图2为本发明实施例提供的一种文件扫描装置的示意性框图;
图3为本发明实施例提供的一种文件扫描方法中创建的数据管理结构和数据模型示意图;
图4为本发明实施例提供的一种文件扫描方法中的节点组装示意图;
图5为本发明实施例提供的一种文件扫描方法中的哈希归类示意图;
图6为本发明实施例提供的一种文件扫描方法中的另一节点组装示意图;
图7为本发明实施例提供的一种文件扫描方法中的类型筛选示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种文件扫描方法的流程示意图,具体包括:步骤S101~S105。
S101、通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManager allFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
S102、创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
S103、遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
S104、将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
S105、响应于用户的搜索请求,基于所述搜索请求对变量DataManagerallFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
本实施例中,首先通过代码构建工具(例如Xcode)创建数据模型和数据管理结构,所述的数据模型具体包括多种不同模型,例如文件夹节点数据模型和文件根节点数据模型,所述数据管理结构具体包括多种不同类,例如数据管理类、文件扫描管理类和数据筛选管理类。基于各数据模型和数据管理结构,遍历单次抛出的json文件数据,并将该json文件数据对应的RootNode对象存储至创建的rootNodeDic字典中。然后对rootNodeDic字典进行遍历,以生成FileItem对象并保存至DataManager allFileItems中,从而实现树状节点组装。同时将FileItem对象同步传递至文件根节点数据模型,以实现筛选类型组装。当接收到用户的搜索请求或者扫描请求时,对对应的变量DataManager allFileItems和totalFilterFileItems进行遍历,从而得到相应的搜索结果和扫描结果。
本实施例通过良好的数据模型搭建,和对数据管理类的划分,充分体现单一职责原则,在降低数据组装时间复杂度的同时,可以支持在对当前扫描过程中,建立树状节点和快速响应用户的操作需求能够同时进行,并支持实时显示用户的搜索和筛选操作,从而达到对于文件树状节点的搜索和筛选的效果,提高文件扫描适用性。
在一具体实施例中,结合图3所示,(1)使用Xcode创建文件节点数据模型FileItem,该模型包含以下数据:
FileNodeparentNode,其中,“/>”表示的是指针变量,parentNode是这个变量的名称,这个变量是FileNode类型数据,FileNode/>parentNode用于保存该文件属于哪个文件夹节点;
long nodeSize,用于保存文件大小,其中,long是一个64位整型数据;
double modifyTime,用于文件修改的时间戳;
NodeType nodeType,用于确认文件的类型;
NSStringnodeName,其中,“/>“表示指针变量,nodeName是这个变量的名称,这个变量是NSString类型,NSString表示一个静态的纯文本Unicode字符串,NSString/>nodeName中包含有文件的路径信息。
(2)使用Xcode创建文件夹节点数据模型FileNode,该模型包含以下数据:
NSMutableArrayfileChildrenNodes,其中,“/>”表示指针变量,fileChildrenNodes是变量名称,该变量是NSMutableArray类型,NSMutableArray表示大小可以改变的数组,其存放的是FileItem模型数据,NSMutableArray/>fileChildrenNodes用于存储文件节点数据;
NSMutableArrayfolderChildrenNodes,其中,“/>”表示指针变量,folderChildrenNodes是变量名称,该变量是NSMutableArray类型,NSMutableArray表示大小可以改变的数组,其存放的是FileNode模型数据,NSMutableArray/>folderChildrenNodes用于存储文件夹节点数据;
FileNodeparentNode,其中,“/>”表示的是指针变量,parentNode是这个变量的名称,该变量是FileNode类型的数据,FileNode />parentNode用于指向父节点。
(3)使用Xcode创建文件根节点数据模型DiskPartition,继承之FileNode,该模型新增包含以下数据:
NSMutableSetassembleFilterSet,其中,“/>”表示的是指针变量,assembleFilterSet是变量名称,该变量是NSMutableSet类型,NSMutableSet表示大小可变的集合,存放的是FileItem模型的数据,该数据集合不能包含相同的数据,NSMutableSet/>assembleFilterSet用于存储扫描过程中筛选之后的等待组装的数据;
NSMutableArraytotalFilterFileItems,其中,“/>”表示指针变量,totalFilterItems是变量名称,该变量是NSMutableArray类型,NSMutableArray表示大小可以改变的数组,存放的是FileItem模型数据,NSMutableArray/>totalFilterFileItems用于保存筛选的所有文件对象;
结合图4,FileItem、FileNode、DiskPartition经过组装之后,会生成如图4所示树状节点关系。可以理解的是,这里仅是举例,在实际情况中,真实树状节点的规格要更大。
(4)使用Xcode创建节点数据模型RootNode,该模型包含以下数据:
NSMutableDictionarysamePathNode,其中,“/>”表示指针变量,samePathNode是变量名称,该变量是NSMutableDictionary类型,NSMutableDictionary表示大小可以改变的字典,字典代表的是键值:key-value数据集合,NSMutableDictionary/>samePathNode用于存储单次抛出数据中相同路径的文件信息。
(5)使用Xcode创建文件扫描管理类DiskEntityManager,负责磁盘文件数据扫描,包含以下变量:
NSOperationQueuefileQueue,其中,“/>”表示指针变量,fileQueue是变量名称,该变量是NSOperationQueue类型,NSOperationQueue是操作队列,其可以窜行执行指定的代码,NSOperationQueue/>fileQueue用于异步构造树状节点,
BOOL isAssembling,其中,BOOL表示的是布尔变量,该变量只有两种值:真和假,isAssembling是变量名称,BOOL isAssembling用于标识fileQueue是否正在组装节点。
(6)使用Xcode创建数据管理类DataManager,用于保存数据节点和扫描过程中的节点,包含以下数据:
DiskPartitiontreeRootNode,其中,“/>”表示指针变量,treeRootNode是变量名称,该变量是DiskPartition类型,DiskPartition/>treeRootNode作为磁盘文件目录的根节点;
NSMutableDictionarytreeNodeCache,其中,“/>”表示指针变量,treeNodeCache是变量名称,该变量是NSMutableDictionary类型,NSMutableDictionary表示大小可以改变的字典,字典代表的是键值:key-value数据集合,NSMutableDictionary/>treeNodeCache用于缓存扫描过程中所有的文件夹节点FileNode对象;
NSMutableSetallFileItems,其中,“/>”表示的是指针变量,allFileItems是变量名称,这个变量是NSMutableSet类型,NSMutableSet表示大小可变的集合,存放的是FileItem模型的数据,该数据集合不能包含相同的数据,NSMutableDictionary/>treeNodeCache用于缓存所有的文件信息;
NSStringsearchKeyWord,其中,“/>”表示指针变量,searchKeyWord是变量名称,这个变量是NSString类型,NSString表示一个静态的纯文本Unicode字符串,NSString/>searchKeyWord用于保存用户界面输入的搜索关键字;
NSMutableSetsearchItems,其中,“/>“表示指针变量,searchItems是变量名称,这个变量是NSMutableSet类型,NSMutableSet表示大小可变的集合,存放的是FileItem模型的数据,该数据集合不能包含相同的数据,NSMutableSet/>searchItems用于保存搜索到的文件对象FileItem;
NSMutableArraysearchFilterItems,其中,“/>”表示指针变量,searchFilterItems是变量名称,这个变量是NSMutableArray类型,NSMutableArray表示的是大小可以改变的数组,存放的是FileItem模型数据,NSMutableArray/>searchFilterItems用于保存搜索基础上的筛选数据。
(7)使用Xcode创建数据筛选管理类FilterManager,负责文件类型筛选相关数据处理,提供按文件大小、文件创建时间、文件标签类型进行筛选。包含以下数据:
FilterType filterType,其中,filterType为变量名称,FilterType是自定义的筛选枚举类型,FilterType filterType表示筛选的文件类型,
DiskPartitioncurrentFilterNode,其中,“/>“表示指针变量,currentFilterNode是变量名称,DiskPartition/>currentFilterNode表示当前筛选的文件的根节点。
在一实施例中,所述步骤S102包括:
设置文件扫描管理类的变量isAssembling为真,遍历获取文件扫描管理类单次抛出的json文件数据,并判断变量fileQueue是否暂停;
若判定变量fileQueue暂停,则将操作代码块添加到变量fileQueue的队列中等待执行;
若判定变量fileQueue未暂停,则创建用于保存RootNode对象的rootNodeDic字典;
遍历json文件数据以获取对应的文件信息,并根据所述文件信息确认json文件数据的NodeType类型;
判断rootNodeDic字典是否存在对应类型的RootNode对象;
若未存在对应类型的RootNode对象,则在rootNodeDic字典创建所述RootNode对象并保存,然后将文件信息保存到RootNode对象的samePathNode数组中。
结合图5,本实施例通过对单次数据进行哈希归类,来减少在数据组装过程时,文件查找所在文件夹节点的次数。具体来说,首先设置DiskEntityManager isAssembling为true,其表示文件扫描管理类DiskEntityManager正在组装处理数据。接着遍历获取DiskEntityManager单次抛出的json文件数据,并判断fileQueue是否暂停。在这里,json文件数据会被fileQueue的代码块捕获,而fileQueue作为一个队列,会捕获多个json文件数据并进行串行处理,也就是说,后续捕获的数据需要等待当前正在处理的数据执行完毕后才会进行处理。如果fileQueue暂停,则将操作block代码块添加到fileQueue队列中等待执行,block代码块是Objective-C编程语言的一种编码方式,block代码块能够捕获代码上下文的变量,这样做的好处是:即使当前函数执行完毕后,变量由于已经被捕获,因此并不会被销毁。如果fileQueue没有暂停,则直接执行数据处理。即创建一个名为rootNodeDic的字典,用于保存RootNode对象,然后遍历json数据获取单个文件信息,并确认这个文件信息属于哪种NodeType类型,例如可以根据字段type、is_exist、is_lost_location以及name判断NodeType类型,从而确认rootNodeDic是否存在此类型的RootNode对象,不存在则创建并保存,然后将文件信息保存到RootNode对象samePathNode数组中。
在一实施例中,所述步骤S103包括:
遍历rootNodeDic字典以获取其中所有的RootNode对象;
遍历所有的RootNode对应的samePathNode属性,以获取所有的文件信息;
根据文件信息中的文件路径判断数据管理类的treeNodeCache是否存在对应的文件夹缓存FileNode;
如果判定存在对应的文件夹缓存FileNode,则将每个文件信息生成FileItem对象,并保存至缓存FileNode的fileChildrenNodes属性和DataManager allFileItems中;
如果判定未存在对应的文件夹缓存FileNode,则根据文件信息中的文件路径顺序,查找最后一个缓存的文件夹节点,并依据剩余未创建的路径节点依次创建FileNode对象,然后保存至上一路径节点的FileNode属性folderChildrenNodes中;
当保存到最后一个FileNode时,将所有的文件信息生成FileItem对象,并保存至最后一个FileNode的fileChildrenNodes属性和DataManager allFileItems中。
本实施例中,数据管理类DataManager对rootNodeDic进行进一步处理,以进行树状节点组装。具体来说,结合图6,首先遍历rootNodeDic来获取其中所有的RootNode对象,再遍历RootNode的samePathNode属性,来获取所有的文件信息,然后根据文件路径判断DataManager的treeNodeCache是否存在对应的文件夹缓存FileNode。如果缓存存在,则将每个文件信息生成FileItem对象,并保存到缓存FileNode的fileChildrenNodes属性和DataManager allFileItems中。如果缓存不存在,则根据文件路径从尾到头的顺序,查找最后一个缓存的文件夹节点,再依据剩余未创建的路径节点依次创建FileNode对象,并保存到上一个路径节点的FileNode属性folderChildrenNodes中,当保存到最后一个FileNode时,将所有的文件信息生成FileItem对象,然后保存到最后一个FileNode的fileChildrenNodes属性和DataManager allFileItems中。
在一实施例中,所述步骤S104包括:
将FileItem对象同步传递至文件根节点数据模型,并由所述文件根节点数据模型根据FileItem对象的对象信息存储到对应的集合当中;
判断数据筛选管理类的变量filterType是否为空,并当变量filterType不为空时将FileItem对象至添加到数据筛选管理类的属性currentFilterNode的assembleFilterSet属性中,并等待所有的数据处理完毕后组装;
判断数据管理类的变量searchKeyWord是否为空,并当变量searchKeyWord不为空时将FileItem对象添加至数据管理类的属性searchFilterItems中。
在添加FileItem的同时,本实施例还将FileItem同步传递给根节点(Diskpartition类)进行筛选类型组装。具体来说,结合图7,根节点根据FileItem的大小nodeSize、修改时间modifyTime、标签nodeType等信息,存储到对应的集合当中。在这里,如果FilterManager属性filterType不为空,则判断FileItem是否符合当前的筛选规则,然后添加到FilterManager的属性currentFilterNode 的assembleFilterSet属性中,并等待所有的数据处理完毕后组装。进一步的,如果DataManager searchKeyWord不为空,则判断FileItem是否符合当前的筛选规则且包含搜索关键字,并在符合当前的筛选规则且包含搜索关键字的情况下添加到DataManager属性searchFilterItems中。
此外,还会判断DataManager searchKeyWord是否为空,如果不为空,则进一步判断上述的文件对象FileItem的文件名nodeName是否包含搜索关键字,如果包含则添加到DataManager searchItems中。然后重置变量isAssembling,并设置DiskEntityManagerisAssembling为false,表示单次节点组装完毕。
在一实施例中,所述步骤S105包括:
基于所述搜索请求提取搜索关键字;
遍历变量DataManager allFileItems,以获取包含有搜索关键字的搜索FileItem对象;
将所述搜索FileItem对象添加至变量searchItems中,并将变量searchItems作为搜索数据源进行界面更新。
本实施例中,当用户在操作界面输入搜索关键字时会触发扫描过程中搜索功能。即遍历DataManager allFileItems,找出所有文件名称包含搜索关键字的FileItem对象,然后添加到searchItems中。当下一次扫描数据继续抛出时,执行“添加到搜索”这一步,此时界面组件将searchItems作为数据源,并进行界面更新。
在一实施例中,所述步骤S105还包括:
基于所述扫描请求提取筛选条件,并根据所述筛选条件对数据管理类的treeRootNode对象进行筛选,得到筛选结果,并将所述筛选结果保存至变量totalFilterFileItem;
利用变量treeRootNode生成关于所述筛选结果的副本,并将所述副本赋值于数据筛选管理类的变量currentFilterNode中;
遍历变量totalFilterFileItems,以获取所有的FileItem模型数据,并根据FileItem模型数据中的文件路径判断数据筛选管理类的变量treeNodeCache是否存在对应的文件夹缓存FileNode;
若存在对应的文件夹缓存FileNode,则将FileItem模型数据保存到缓存FileNode的fileChildrenNodes属性中;
若未存在对应的文件夹缓存FileNode,则根据FileItem模型数据创建筛选FileNode对象,并将FileItem模型数据保存至筛选FileNode对象的fileChildrenNodes属性中;
将数据筛选管理类的变量currentFilterNode作为扫描数据源对界面进行更新。
在一些可选实施例中,所述遍历变量totalFilterFileItems,以获取所有的FileItem模型数据步骤之前,包括:
暂停文件扫描管理类的变量fileQueue,并判断文件扫描管理类的变量isAssembling是否处于组装数据状态;
若所述变量isAssembling处于组装数据状态,则等待当前组装状态;
若所述变量isAssembling未处于组装数据状态,则清空上一次的筛选条件和筛选数据。
本实施例中,当用户在操作界面选择文件类型时,触发扫描过程中筛选功能。具体来说,首先将DiskEntityManager的fileQueue暂停,这样后续扫描抛出的数据,都将被加入队列中等待组装,而不会被立即执行。接着判断DiskEntityManager isAssembling是否正在组装数据,如果正在组装数据,则等待本次组装完毕。随后清空上一次的筛选条件和数据,DataManager treeRootNode对象根据筛选条件,将数据筛选后保存到totalFilterFileItems中,同时treeRootNode生成一份副本,赋值给FilterManagercurrentFilterNode。随后遍历totalFilterFileItems,以获取所有的FileItem模型数据,再根据模型数据中的文件路径nodeName判断FilterManager的treeNodeCache是否存在对应的文件夹缓存FileNode。如果缓存存在,则将FileItem模型数据保存到缓存FileNode的fileChildrenNodes属性中;如果缓存不存在,则根据文件路径从尾到头的顺序,查找最后一个缓存的文件夹节点,再依据剩余未创建的路径节点,依次创建FileNode对象,保存到上一个路径节点的FileNode属性folderChildrenNodes中,当保存到最后一个FileNode的时候,将FileItem模型数据保存到最后一个FileNode的fileChildrenNodes属性中。至此组装完成后,界面组件依据FilterManager currentFilterNode为数据源刷新界面,显示筛选数据,随后恢复fileQueue队列,继续组装数据。通过上述过程,FilterManager和DataManager的数据即可同时完成组装和数据隔离,此时根据用户是否设置了筛选条件,选择FilerManager或者DataManager进行界面更新即可。
可以理解的是,用户执行搜索后,数据保存在DataManager searchItems中,而如果此时进行筛选操作,则只需要遍历searchItems,并根据筛选条件筛选出数据后更新searchItems,随后刷新界面组件即可。
图2为本发明实施例提供的一种文件扫描装置200的示意性框图,该装置200包括:
数据创建单元201,用于通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManager allFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
字典创建单元202,用于创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
第一对象生成单元203,用于遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
筛选组装单元204,用于将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
搜索扫描单元205,用于响应于用户的搜索请求,基于所述搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
在一实施例中,所述字典创建单元202包括:
暂停判断单元,用于设置文件扫描管理类的变量isAssembling为真,遍历获取文件扫描管理类单次抛出的json文件数据,并判断变量fileQueue是否暂停;
暂停判定单元,用于若判定变量fileQueue暂停,则将操作代码块添加到变量fileQueue的队列中等待执行;
未暂停判定单元,用于若判定变量fileQueue未暂停,则创建用于保存RootNode对象的rootNodeDic字典;
类型确认单元,用于遍历json文件数据以获取对应的文件信息,并根据所述文件信息确认json文件数据的NodeType类型;
对象判断单元,用于判断rootNodeDic字典是否存在对应类型的RootNode对象;
信息保存单元,用于若未存在对应类型的RootNode对象,则在rootNodeDic字典创建所述RootNode对象并保存,然后将文件信息保存到RootNode对象的samePathNode数组中。
在一实施例中,所述第一对象生成单元203包括:
字典遍历单元,用于遍历rootNodeDic字典以获取其中所有的RootNode对象;
属性遍历单元,用于遍历所有的RootNode对应的samePathNode属性,以获取所有的文件信息;
缓存判断单元,用于根据文件信息中的文件路径判断数据管理类的treeNodeCache是否存在对应的文件夹缓存FileNode;
第一对象缓存单元,用于如果判定存在对应的文件夹缓存FileNode,则将每个文件信息生成FileItem对象,并保存至缓存FileNode的fileChildrenNodes属性和DataManager allFileItems中;
第二对象缓存单元,用于如果判定未存在对应的文件夹缓存FileNode,则根据文件信息中的文件路径顺序,查找最后一个缓存的文件夹节点,并依据剩余未创建的路径节点依次创建FileNode对象,然后保存至上一路径节点的FileNode属性folderChildrenNodes中;
第二对象生成单元,用于当保存到最后一个FileNode时,将所有的文件信息生成FileItem对象,并保存至最后一个FileNode的fileChildrenNodes属性和DataManagerallFileItems中。
在一实施例中,所述筛选组装单元204包括:
同步传递单元,用于将FileItem对象同步传递至文件根节点数据模型,并由所述文件根节点数据模型根据FileItem对象的对象信息存储到对应的集合当中;
第一对象添加单元,用于判断数据筛选管理类的变量filterType是否为空,并当变量filterType不为空时将FileItem对象至添加到数据筛选管理类的属性currentFilterNode的assembleFilterSet属性中,并等待所有的数据处理完毕后组装;
第二对象添加单元,用于判断数据管理类的变量searchKeyWord是否为空,并当变量searchKeyWord不为空时将FileItem对象添加至数据管理类的属性searchFilterItems中。
在一实施例中,所述搜索扫描单元205包括:
关键字提取单元,用于基于所述搜索请求提取搜索关键字;
搜索对象获取单元,用于遍历变量DataManager allFileItems,以获取包含有搜索关键字的搜索FileItem对象;
第一界面更新单元,用于将所述搜索FileItem对象添加至变量searchItems中,并将变量searchItems作为搜索数据源进行界面更新。
在一实施例中,所述搜索扫描单元205还包括:
条件提取单元,用于基于所述扫描请求提取筛选条件,并根据所述筛选条件对数据管理类的treeRootNode对象进行筛选,得到筛选结果,并将所述筛选结果保存至变量totalFilterFileItem;
副本生成单元,用于利用变量treeRootNode生成关于所述筛选结果的副本,并将所述副本赋值于数据筛选管理类的变量currentFilterNode中;
模型数据获取单元,用于遍历变量totalFilterFileItems,以获取所有的FileItem模型数据,并根据FileItem模型数据中的文件路径判断数据筛选管理类的变量treeNodeCache是否存在对应的文件夹缓存FileNode;
第一模型保存单元,用于若存在对应的文件夹缓存FileNode,则将FileItem模型数据保存到缓存FileNode的fileChildrenNodes属性中;
第二模型保存单元,用于若未存在对应的文件夹缓存FileNode,则根据FileItem模型数据创建筛选FileNode对象,并将FileItem模型数据保存至筛选FileNode对象的fileChildrenNodes属性中;
第二界面更新单元,用于将数据筛选管理类的变量currentFilterNode作为扫描数据源对界面进行更新。
在一实施例中,所述搜索扫描单元205还包括:
组装判断单元,用于暂停文件扫描管理类的变量fileQueue,并判断文件扫描管理类的变量isAssembling是否处于组装数据状态;
组装等待单元,用于若所述变量isAssembling处于组装数据状态,则等待当前组装状态;
筛选清空单元,用于若所述变量isAssembling未处于组装数据状态,则清空上一次的筛选条件和筛选数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种文件扫描方法,其特征在于,包括:
通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManagerallFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
响应于用户的搜索请求,基于所述搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
2.根据权利要求1所述的文件扫描方法,其特征在于,所述创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中,包括:
设置文件扫描管理类的变量isAssembling为真,遍历获取文件扫描管理类单次抛出的json文件数据,并判断变量fileQueue是否暂停;
若判定变量fileQueue暂停,则将操作代码块添加到变量fileQueue的队列中等待执行;
若判定变量fileQueue未暂停,则创建用于保存RootNode对象的rootNodeDic字典;
遍历json文件数据以获取对应的文件信息,并根据所述文件信息确认json文件数据的NodeType类型;
判断rootNodeDic字典是否存在对应类型的RootNode对象;
若未存在对应类型的RootNode对象,则在rootNodeDic字典创建所述RootNode对象并保存,然后将文件信息保存到RootNode对象的samePathNode数组中。
3.根据权利要求1所述的文件扫描方法,其特征在于,所述遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManagerallFileItems中,包括:
遍历rootNodeDic字典以获取其中所有的RootNode对象;
遍历所有的RootNode对应的samePathNode属性,以获取所有的文件信息;
根据文件信息中的文件路径判断数据管理类的treeNodeCache是否存在对应的文件夹缓存FileNode;
如果判定存在对应的文件夹缓存FileNode,则将每个文件信息生成FileItem对象,并保存至缓存FileNode的fileChildrenNodes属性和DataManager allFileItems中;
如果判定未存在对应的文件夹缓存FileNode,则根据文件信息中的文件路径顺序,查找最后一个缓存的文件夹节点,并依据剩余未创建的路径节点依次创建FileNode对象,然后保存至上一路径节点的FileNode属性folderChildrenNodes中;
当保存到最后一个FileNode时,将所有的文件信息生成FileItem对象,并保存至最后一个FileNode的fileChildrenNodes属性和DataManager allFileItems中。
4.根据权利要求1所述的文件扫描方法,其特征在于,所述将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装,包括:
将FileItem对象同步传递至文件根节点数据模型,并由所述文件根节点数据模型根据FileItem对象的对象信息存储到对应的集合当中;
判断数据筛选管理类的变量filterType是否为空,并当变量filterType不为空时将FileItem对象至添加到数据筛选管理类的属性currentFilterNode的assembleFilterSet属性中,并等待所有的数据处理完毕后组装;
判断数据管理类的变量searchKeyWord是否为空,并当变量searchKeyWord不为空时将FileItem对象添加至数据管理类的属性searchFilterItems中。
5.根据权利要求1所述的文件扫描方法,其特征在于,所述响应于用户的搜索请求,基于所述搜索请求对变量DataManager allFileItems进行遍历,得到对应的搜索结果,包括:
基于所述搜索请求提取搜索关键字;
遍历变量DataManager allFileItems,以获取包含有搜索关键字的搜索FileItem对象;
将所述搜索FileItem对象添加至变量searchItems中,并将变量searchItems作为搜索数据源进行界面更新。
6.根据权利要求1所述的文件扫描方法,其特征在于,所述响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果,包括:
基于所述扫描请求提取筛选条件,并根据所述筛选条件对数据管理类的treeRootNode对象进行筛选,得到筛选结果,并将所述筛选结果保存至变量totalFilterFileItem;
利用变量treeRootNode生成关于所述筛选结果的副本,并将所述副本赋值于数据筛选管理类的变量currentFilterNode中;
遍历变量totalFilterFileItems,以获取所有的FileItem模型数据,并根据FileItem模型数据中的文件路径判断数据筛选管理类的变量treeNodeCache是否存在对应的文件夹缓存FileNode;
若存在对应的文件夹缓存FileNode,则将FileItem模型数据保存到缓存FileNode的fileChildrenNodes属性中;
若未存在对应的文件夹缓存FileNode,则根据FileItem模型数据创建筛选FileNode对象,并将FileItem模型数据保存至筛选FileNode对象的fileChildrenNodes属性中;
将数据筛选管理类的变量currentFilterNode作为扫描数据源对界面进行更新。
7.根据权利要求6所述的文件扫描方法,其特征在于,所述遍历变量totalFilterFileItems,以获取所有的FileItem模型数据步骤之前,包括:
暂停文件扫描管理类的变量fileQueue,并判断文件扫描管理类的变量isAssembling是否处于组装数据状态;
若所述变量isAssembling处于组装数据状态,则等待当前组装状态;
若所述变量isAssembling未处于组装数据状态,则清空上一次的筛选条件和筛选数据。
8.一种文件扫描装置,其特征在于,包括:
数据创建单元,用于通过代码构建工具创建数据管理结构和数据模型;其中,所述数据管理结构包括数据管理类、文件扫描管理类和数据筛选管理类,所述数据管理类包含有变量DataManager allFileItems,所述文件扫描管理类包含有变量fileQueue,所述数据筛选管理类包含有变量filterType;所述数据模型包括文件夹节点数据模型和文件根节点数据模型,所述文件根节点数据模型中包含有变量totalFilterFileItems;
字典创建单元,用于创建rootNodeDic字典,遍历文件扫描管理类单次抛出的json文件数据,以获取所述json文件数据的NodeType类型,并将NodeType类型对应的RootNode对象保存至rootNodeDic字典中;
第一对象生成单元,用于遍历获取所述rootNodeDic字典中的RootNode对象,根据遍历获取结果生成FileItem对象,并保存至变量DataManager allFileItems中;
筛选组装单元,用于将FileItem对象同步传递至文件根节点数据模型,并由文件根节点数据模型进行筛选类型组装;
搜索扫描单元,用于响应于用户的搜索请求,基于所述搜索请求对变量DataManagerallFileItems进行遍历,得到对应的搜索结果;和/或,响应于用户的扫描请求,基于所述扫描请求对变量totalFilterFileItems进行遍历,得到对应的扫描结果。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的文件扫描方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件扫描方法。
CN202311490232.5A 2023-11-10 2023-11-10 一种文件扫描方法、装置、计算机设备及存储介质 Active CN117251416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311490232.5A CN117251416B (zh) 2023-11-10 2023-11-10 一种文件扫描方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311490232.5A CN117251416B (zh) 2023-11-10 2023-11-10 一种文件扫描方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN117251416A CN117251416A (zh) 2023-12-19
CN117251416B true CN117251416B (zh) 2024-03-29

Family

ID=89137127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311490232.5A Active CN117251416B (zh) 2023-11-10 2023-11-10 一种文件扫描方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN117251416B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579151A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 一种模型文件的生成方法和装置
WO2022057460A1 (zh) * 2020-09-18 2022-03-24 苏州浪潮智能科技有限公司 一种基于ai训练平台的海量文件检索方法、装置及设备
CN114527991A (zh) * 2022-02-09 2022-05-24 腾讯科技(深圳)有限公司 代码的扫描方法、装置、设备、存储介质及程序产品
CN115473969A (zh) * 2022-08-23 2022-12-13 苏州乐众信息技术有限公司 扫描文件的方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579151A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 一种模型文件的生成方法和装置
WO2022057460A1 (zh) * 2020-09-18 2022-03-24 苏州浪潮智能科技有限公司 一种基于ai训练平台的海量文件检索方法、装置及设备
CN114527991A (zh) * 2022-02-09 2022-05-24 腾讯科技(深圳)有限公司 代码的扫描方法、装置、设备、存储介质及程序产品
CN115473969A (zh) * 2022-08-23 2022-12-13 苏州乐众信息技术有限公司 扫描文件的方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN117251416A (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
US11288231B2 (en) Reproducing datasets generated by alert-triggering search queries
CA2722320C (en) Paging hierarchical data
CN111722984B (zh) 告警数据处理方法、装置、设备及计算机存储介质
US20060085391A1 (en) Automatic query suggestions
WO2007085187A1 (fr) Procédé d'extraction de données, procédé de production de fichiers d'index et moteur de recherche
CN111858760B (zh) 一种异构数据库的数据处理方法及装置
CN111859132A (zh) 一种数据处理方法、装置及智能设备、存储介质
CN106161193B (zh) 一种邮件处理方法、装置和***
CN112491609A (zh) 基于业务服务的***应用架构发现方法及***
CN111737742A (zh) 敏感数据扫描方法和***
CN112115313A (zh) 正则表达式的生成、数据提取方法、装置、设备及介质
CN117251416B (zh) 一种文件扫描方法、装置、计算机设备及存储介质
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN107577809A (zh) 离线小文件处理方法及装置
CN110659295B (zh) 一种基于hawq记录有效数据的方法、装置和介质
CN115827702B (zh) 一种基于布隆过滤器的软件白名单查询方法
CN114443599A (zh) 数据同步方法、装置、电子设备及存储介质
CN111797095A (zh) 索引构建方法和json数据查询方法
CN113448965A (zh) 一种全表扫描的结构化查询语句的确定方法、装置和设备
CN112765200A (zh) 一种基于Elasticsearch的数据查询方法及装置
CN106933826B (zh) 数据预处理方法及装置
Van et al. An expanded prefix tree-based mining algorithm for sequential pattern maintenance with deletions
CN115455031B (zh) 一种Doris的数据查询方法、装置、存储介质及设备
CN115422245A (zh) 一种用于图数据局部性挖掘的重排序方法
CN113988282A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Applicant before: AFIRSTSOFT CO.,LTD.

Country or region before: China

GR01 Patent grant
GR01 Patent grant