CN117271697A - 一种通过代码调用链还原的方法及系统 - Google Patents

一种通过代码调用链还原的方法及系统 Download PDF

Info

Publication number
CN117271697A
CN117271697A CN202311109579.0A CN202311109579A CN117271697A CN 117271697 A CN117271697 A CN 117271697A CN 202311109579 A CN202311109579 A CN 202311109579A CN 117271697 A CN117271697 A CN 117271697A
Authority
CN
China
Prior art keywords
data
inverted index
node
distributed data
index
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
Application number
CN202311109579.0A
Other languages
English (en)
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202311109579.0A priority Critical patent/CN117271697A/zh
Publication of CN117271697A publication Critical patent/CN117271697A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种通过代码调用链还原的方法,属于计算机领域;该方法包括:获取数据,根据数据生成存储请求;根据数据和存储请求,构建倒排索引;将倒排索引存储至分布式数据集群中;根据倒排索引,将数据储存至分布式数据集群中;获取查询信号;根据查询信号和倒排索引从分布式数据集群中查询数据。本发明还公开一种通过代码调用链还原的系统。本发明实现各系统各业务模块之间可灵活复用引擎上管理的规则,业务系统和规则管理相互独立,互不影响,且系统之间可以根据自己的业务规则灵活选择并发或者串行的执行规则。

Description

一种通过代码调用链还原的方法及系统
技术领域
本发明涉及计算机技术领域,具体涉及一种通过代码调用链还原的方法及系统。
背景技术
不同系统、不同功能模块间业务办理规则嵌套在功能或者业务上,规则和业务之间深度融合。
现有技术存在规则和业务紧耦合,规则和业务之间可复用性低,开发投入工作较大等问题。
发明内容
本发明的目的在于提供一种高效的通过代码调用链还原的方法。
为解决上述技术问题,本发明提供一种通过代码调用链还原的方法,包括以下步骤:
获取数据,根据数据生成存储请求;
根据数据和存储请求,构建倒排索引;
将倒排索引存储至分布式数据集群中;
根据倒排索引,将数据储存至分布式数据集群中;
获取查询信号;
根据查询信号和倒排索引从分布式数据集群中查询数据。
优选地,根据数据和存储请求,构建倒排索引,具体包括以下步骤:
从数据中提取关键词;
根据存储请求和关键词,构建倒排索引。
优选地,所述倒排索引索引包括若干索引分片。
优选地,将倒排索引存储至分布式数据集群中,具体包括以下步骤:
从分布式数据集群中选择一个节点作为管理节点,将索引分片发送到分布式数据集群的其他节点上;
管理节点选择部分索引分片作为主分片,其余的索引分片作为副本分片;以包含主分片的节点作为主节点,以包含副本分片的节点作为副本节点。
优选地,根据倒排索引,将数据储存至分布式数据集群中,具体包括以下步骤:
将存储请求发送到分布式数据集群中的节点;
若该节点为副本节点,则该节点将索引请求发送到主节点;
主节点根据存储请求和倒排索引,储存数据。
优选地,还包括以下步骤:
在节点启动时,通过广播技术发现该节点同一分布式数据集群中的其他节点并进行连接。
优选地,还包括以下步骤:
管理节点发送ping请求信号到分布式数据集群中的其他节点,这些节点根据ping请求信号产生ping响应信号返还给管理节点;
若管理节点没有收到ping响应信号,则将相应的节点从分布式数据集群中移除。
优选地,获取数据,具体包括以下步骤:
通过flume技术获取数据。
本发明还提供一种通过代码调用链还原的系统,包括:
第一获取模块,用于获取数据,根据数据生成存储请求;
倒排索引构建模块,用于根据数据和存储请求,构建倒排索引;
倒排索引存储模块,用于将倒排索引存储至分布式数据集群中;
数据储存模块,用于根据倒排索引,将数据储存至分布式数据集群中。
第二获取模块,用于获取查询信号;
查询模块,拥有根据查询信号和倒排索引从分布式数据集群中查询数据。
与现有技术相比,本发明的有益效果为:
本发明实现各系统各业务模块之间可灵活复用引擎上管理的规则,业务系统和规则管理相互独立,互不影响,且系统之间可以根据自己的业务规则灵活选择并发或者串行的执行规则。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1是本发明一种通过代码调用链还原的方法的流程示意图;
图2是节点启动过程示意图;
图3是故障检测示意图;
图4是建立索引操作示意图;
图5是查询数据示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
Lucerne简介:
Lucerne是一个开放源代码的高性能的Java全文检索引擎工具包,不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者以此为基础建立起完整的全文检索引擎。
分布式文件系统:
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供一种通过代码调用链还原的方法,包括以下步骤:
获取数据,根据数据生成存储请求;
根据数据和存储请求,构建倒排索引;
将倒排索引存储至分布式数据集群中;
根据倒排索引,将数据储存至分布式数据集群中;
获取查询信号;
根据查询信号和倒排索引从分布式数据集群中查询数据。
优选地,根据数据和存储请求,构建倒排索引,具体包括以下步骤:
从数据中提取关键词;
根据存储请求和关键词,构建倒排索引。
优选地,所述倒排索引索引包括若干索引分片。
优选地,将倒排索引存储至分布式数据集群中,具体包括以下步骤:
从分布式数据集群中选择一个节点作为管理节点,将索引分片发送到分布式数据集群的其他节点上;
管理节点选择部分索引分片作为主分片,其余的索引分片作为副本分片;以包含主分片的节点作为主节点,以包含副本分片的节点作为副本节点。
优选地,根据倒排索引,将数据储存至分布式数据集群中,具体包括以下步骤:
将存储请求发送到分布式数据集群中的节点;
若该节点为副本节点,则该节点将索引请求发送到主节点;
主节点根据存储请求和倒排索引,储存数据。
优选地,还包括以下步骤:
在节点启动时,通过广播技术发现该节点同一分布式数据集群中的其他节点并进行连接。
优选地,还包括以下步骤:
管理节点发送ping请求信号到分布式数据集群中的其他节点,这些节点根据ping请求信号产生ping响应信号返还给管理节点;
若管理节点没有收到ping响应信号,则将相应的节点从分布式数据集群中移除。
优选地,获取数据,具体包括以下步骤:
通过flume技术获取数据。
本发明还提供一种通过代码调用链还原的系统,包括:
第一获取模块,用于获取数据,根据数据生成存储请求;
倒排索引构建模块,用于根据数据和存储请求,构建倒排索引;
倒排索引存储模块,用于将倒排索引存储至分布式数据集群中;
数据储存模块,用于根据倒排索引,将数据储存至分布式数据集群中。
第二获取模块,用于获取查询信号;
查询模块,拥有根据查询信号和倒排索引从分布式数据集群中查询数据。
为了更好的说明本发明的技术效果,本发明提供如下具体实施例说明上述技术流程:
实施例1、一种通过代码调用链还原的系统,包括:
1、使用统一的实时日志采集方案。
通过flume实现分布式的实时日志采集方案,实现各个应用系统日志实时存储至分布式文件系统中去,从而为实时检索提供基础。
2、使用分布式的文件存储技术。
通过java实现的分布式文件存储技术。一个节点是一个逻辑上独立的服务,可以存储数据,并参与分布式数据集群的索引和搜索功能,一个节点也有唯一的名字,群集通过节点名称进行管理和通信。一个或多个节点的集合,共同存储整个数据集,并提供联合索引以及可跨所有节点的数据搜索能力。
3、使用倒排索引提升检索效率。
倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
4、提供实时数据采集、存储、图形化展示的整体分布式日志解决方案。
本方法提出了异步规则管理,业务和规则管理分离,以实现规则统一管理,实时检索及可视化操作功能,具体包括以下步骤:
1、实时数据采集
通过flume实现实时采集方案,将生成的日志实时保存在分布式文件系统中,实现海量日志的实时检索功能。
2、分布式数据工作流程
2.1、启动过程:
当数据存储节点启动时,它使用广播技术(也可以配置为单播)来发现同一个分布式数据集群中的其他节点(这里的关键是配置文件中的分布式数据集群名称)并与它们连接。如图2所示描述了相关处理过程:
分布式数据集群中会有一个节点被选为管理节点(master node)。该节点负责分布式数据集群的状态管理以及在分布式数据集群拓扑变化时做出反应,分发索引分片至分布式数据集群的相应节点上。
管理节点读取分布式数据集群的状态信息,并在必要时进行恢复处理。在该阶段,管理节点会检查所有的索引分片并决定哪些分片将作用于主分片。然后,整个分布式数据集群进入工作状态。接下来就是要寻找到冗余的分片并用作副本。如果一切顺利,分布式数据集群将进入正常状态。
2.2、故障检测:
分布式数据集群正常工作时,管理节点会监听所有可用节点,检查它们是否在工作。
为了描述故障检测是如何工作的,我们用一个只有三个节点的分布式数据集群为例,即包含一个管理节点,两个数据节点。管理节点会发送ping请求至其他节点,然后等待响应。如果没有响应,则该节点会从分布式数据集群中移除,如图3所示;
2.3、索引数据:
建立索引操作只会发生在主分片上。当把一个索引请求发送至某节点时,如果该节点没有对应的主分片或只有副本,那么这个请求会被转发到拥有正确主分片的节点,如图4所示;
2.4、查询数据:
查询API占据了分布式日志搜索的大部分的内容,使用查询脚本语言,可以进行如下操作:
(1)使用各种类型查询;
(2)组合简单查询构件复杂查询;
(3)文档过滤,在不影响评分的前提下抛弃那些不满足特定查询条件的文档;
(4)查找与特定文档相似的文档;
(5)使用切面构建动态导航和计算各种统计量。
查询并不是一个简单的、单步骤操作。查询分为两个阶段:
(1)分散阶段(scatter phase),将query分发到包含相关文档的多个分片中去执行查询;
(2)合并阶段(gather phase),从众多分片中手机返回的结果,对它们进行合并、排序、后续处理,然后返回给客户端。该机制如图5所示;
3、倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。
本发明具有以下特点:
一、本发明使用统一的实时日志采集方案:
通过flume实现分布式的实时日志采集方案,实现各个应用系统日志实时存储至分布式文件系统中去,从而为实时检索提供基础。
二、本发明使用分布式的文件存储技术:
通过java实现的分布式文件存储技术。一个节点是一个逻辑上独立的服务,可以存储数据,并参与分布式数据集群的索引和搜索功能,一个节点也有唯一的名字,群集通过节点名称进行管理和通信。一个或多个节点的集合,共同存储整个数据集,并提供联合索引以及可跨所有节点的数据搜索能力。
三、本发明使用倒排索引提升检索效率。
倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
四、本发明提供实时数据采集、存储、图形化展示的整体分布式日志解决方案。
本实施例可以达到以下作用:
1、通过数据实时采集及保存,实现实时的日志检索;
2、提供可视化查询界面;
3、提供可视化的界面查询,并提供检索条件的配置功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明的方法中限定的上述功能。需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种通过代码调用链还原的方法,其特征在于,包括以下步骤:
获取数据,根据数据生成存储请求;
根据数据和存储请求,构建倒排索引;
将倒排索引存储至分布式数据集群中;
根据倒排索引,将数据储存至分布式数据集群中;
获取查询信号;
根据查询信号和倒排索引从分布式数据集群中查询数据。
2.根据权利要求1所述的通过代码调用链还原的方法,其特征在于,根据数据和存储请求,构建倒排索引,具体包括以下步骤:
从数据中提取关键词;
根据存储请求和关键词,构建倒排索引。
3.根据权利要求1所述的通过代码调用链还原的方法,其特征在于:
所述倒排索引索引包括若干索引分片。
4.根据权利要求3所述的通过代码调用链还原的方法,其特征在于,将倒排索引存储至分布式数据集群中,具体包括以下步骤:
从分布式数据集群中选择一个节点作为管理节点,将索引分片发送到分布式数据集群的其他节点上;
管理节点选择部分索引分片作为主分片,其余的索引分片作为副本分片;以包含主分片的节点作为主节点,以包含副本分片的节点作为副本节点。
5.根据权利要求4所述的通过代码调用链还原的方法,其特征在于,根据倒排索引,将数据储存至分布式数据集群中,具体包括以下步骤:
将存储请求发送到分布式数据集群中的节点;
若该节点为副本节点,则该节点将索引请求发送到主节点;
主节点根据存储请求和倒排索引,储存数据。
6.根据权利要求5所述的通过代码调用链还原的方法,其特征在于,还包括以下步骤:
在节点启动时,通过广播技术发现该节点同一分布式数据集群中的其他节点并进行连接。
7.根据权利要求6所述的通过代码调用链还原的方法,其特征在于,还包括以下步骤:
管理节点发送ping请求信号到分布式数据集群中的其他节点,这些节点根据ping请求信号产生ping响应信号返还给管理节点;
若管理节点没有收到ping响应信号,则将相应的节点从分布式数据集群中移除。
8.根据权利要求1所述的通过代码调用链还原的方法,其特征在于,获取数据,具体包括以下步骤:
通过flume技术获取数据。
9.一种通过代码调用链还原的系统,用于实现如权利要求1-8任一所述的通过代码调用链还原的方法,其特征在于,包括:
第一获取模块,用于获取数据,根据数据生成存储请求;
倒排索引构建模块,用于根据数据和存储请求,构建倒排索引;
倒排索引存储模块,用于将倒排索引存储至分布式数据集群中;
数据储存模块,用于根据倒排索引,将数据储存至分布式数据集群中。
第二获取模块,用于获取查询信号;
查询模块,拥有根据查询信号和倒排索引从分布式数据集群中查询数据。
CN202311109579.0A 2023-08-30 2023-08-30 一种通过代码调用链还原的方法及系统 Pending CN117271697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311109579.0A CN117271697A (zh) 2023-08-30 2023-08-30 一种通过代码调用链还原的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311109579.0A CN117271697A (zh) 2023-08-30 2023-08-30 一种通过代码调用链还原的方法及系统

Publications (1)

Publication Number Publication Date
CN117271697A true CN117271697A (zh) 2023-12-22

Family

ID=89220514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311109579.0A Pending CN117271697A (zh) 2023-08-30 2023-08-30 一种通过代码调用链还原的方法及系统

Country Status (1)

Country Link
CN (1) CN117271697A (zh)

Similar Documents

Publication Publication Date Title
Escriva et al. HyperDex: A distributed, searchable key-value store
CN111241078A (zh) 数据分析系统、数据分析的方法及装置
CN107180113B (zh) 一种大数据检索平台
KR101435789B1 (ko) Dlp 시스템의 빅데이터 처리 시스템 및 방법
WO2010148415A1 (en) Scalable cluster database
AU2011200841A1 (en) Distributed search methods, architectures, systems, and software
EP3499388B1 (en) Method and device for processing join query
CN111651424B (zh) 一种数据处理方法、装置、数据节点及存储介质
CN109117426B (zh) 分布式数据库查询方法、装置、设备及存储介质
CN111221851A (zh) 一种基于Lucene的海量数据查询、存储的方法和装置
CN113127526A (zh) 一种基于Kubernetes的分布式数据存储和检索系统
Schales et al. FCCE: highly scalable distributed feature collection and correlation engine for low latency big data analytics
Cao et al. LogKV: Exploiting key-value stores for event log processing
CN109542913B (zh) 一种复杂环境下的网络资产安全管理方法
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
CN117271697A (zh) 一种通过代码调用链还原的方法及系统
KR101567861B1 (ko) 인덱스 기반 데이터 처리 시스템
CN111428140B (zh) 高并发数据检索方法、装置、设备及存储介质
AU2002351296B2 (en) System and method for processing a request using multiple database units
US8484171B2 (en) Duplicate filtering in a data processing environment
CN111881086B (zh) 大数据的存储方法、查询方法、电子装置及存储介质
CN114741467A (zh) 一种全文检索的方法及系统
CN111061719A (zh) 数据收集方法、装置、设备和存储介质
CN115543994A (zh) 元数据检索方法、服务器、检索方法及终端设备
CN115190173B (zh) 一种网络通信方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication