CN106716420A - 消息匹配方法、消息匹配装置及计算机程序产品、电子设备 - Google Patents

消息匹配方法、消息匹配装置及计算机程序产品、电子设备 Download PDF

Info

Publication number
CN106716420A
CN106716420A CN201680002780.0A CN201680002780A CN106716420A CN 106716420 A CN106716420 A CN 106716420A CN 201680002780 A CN201680002780 A CN 201680002780A CN 106716420 A CN106716420 A CN 106716420A
Authority
CN
China
Prior art keywords
field
rule
message
term
node
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
CN201680002780.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.)
Shenzhen City Science And Technology Holdings Ltd
Cloudminds Inc
Original Assignee
Shenzhen City Science And Technology Holdings 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 City Science And Technology Holdings Ltd filed Critical Shenzhen City Science And Technology Holdings Ltd
Publication of CN106716420A publication Critical patent/CN106716420A/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings

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)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供消息匹配方法、装置及计算机程序产品、电子设备。其中,该消息匹配方法包括:依次搜索与消息的检索词相匹配的字段,所述消息由具有预定排列次序的若干检索词组成;直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。其进行规则匹配时,可以基于匹配成功的部分作为起点,提高了匹配性能和处理效率。

Description

消息匹配方法、消息匹配装置及计算机程序产品、电子设备
技术领域
本发明实施方式涉及消息编译技术领域,特别是涉及一种消息匹配方法及其匹配装置。
背景技术
随着电子技术的不断发展,各种数据和指令传输量越来越大,网络系统的负荷较高。这样对于服务器、客户端等设备的消息处理速度要求越来越高。
惯常的消息处理过程中,需要执行以下的步骤:预设与每一类消息定义相对应的识别与匹配的规则。然后为每一条接收到的消息在这些预设的规则中进行匹配,找到与消息完全匹配的规则为止。
在实现本发明的过程中,发明人发现相关技术存在以下问题:在进行消息匹配时,各规则之间是平行独立的关系。消息需要与每一条规则分别进行匹配,每一次的匹配过程都需要从消息的第一个字符重新开始进行,匹配的性能较低,网络实体的负荷很大。若在消息量较大时,会出现无法及时匹配处理的问题。
发明内容
本发明实施方式主要解决的技术问题是提供一种消息匹配方法、消息匹配装置及计算机程序产品、电子设备,能够解决现有技术中消息匹配性能低,消息量大时无法及时匹配处理的问题。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种消息匹配方法。该方法包括:合并规则库内不同规则之间的相同的字段;依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一个检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
可选地,所述合并不同规则之间的相同的字段,具体包括:
生成与所述规则库相对应的多叉树;所述多叉树的非终端节点为不同规则之间的相同的字段。
可选地,所述生成与所述规则库相对应的多叉树,具体包括:
创建根节点并且将规则作为所述根节点的子树;
根据预定的单位长度,将所述子树拆分为若干比对单元;所述单位长度与所述规则的字段对应;
以根节点为起点,依次序比对各子树的比对单元;
将相同的比对单元合并为同一个节点;
连接所述根节点及节点,生成所述多叉树。
可选地,所述子树的最后一个比对单元为多叉树的叶子节点。
可选地,所述依次搜索与消息的检索词相匹配的字段,直至获取组成消息的全部检索词的已匹配字段,具体包括:从所述多叉树的根节点开始,遍历所述多叉树以获取与所述待匹配消息相匹配的规则。
可选地,所述在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段,具体包括:
在当前检索词与多叉树的当前节点不匹配时,回退至所述当前节点的父节点并重新选择所述父节点的其它子节点。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种消息匹配装置,其中,该装置包括:
字段合并模块,用于合并规则库内不同规则之间的相同的字段;
搜索模块,用于依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;以及直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
可选地,所述字段合并模块具体用于:生成与所述规则库相对应的多叉树;所述多叉树的非终端节点为不同规则之间的相同的字段。
可选地,所述字段合并模块具体用于:
创建根节点并且将规则作为所述根节点的子树;
根据预定的单位长度,将所述子树拆分为若干比对单元;所述单位长度与所述规则的字段对应;
以根节点为起点,依次序比对各子树的比对单元;
将相同的比对单元合并为同一个节点;
连接所述根节点及节点,生成所述多叉树。
可选地,所述子树的最后一个比对单元为多叉树的叶子节点。
可选地,所述搜索模块具体用于:从所述多叉树的根节点开始,遍历所述多叉树以获取与所述待匹配消息相匹配的规则。
可选地,所述所述搜索模块还用于:在当前检索词与多叉树的当前节点不匹配时,回退至所述当前节点的父节点并重新选择所述父节点的其它子节点。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是提供一种电子设备。该电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器能够:
合并规则库内不同规则之间的相同的字段;
依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;
直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
为解决上述技术问题,本发明实施方式采用的又一个技术方案是提供一种在消息匹配装置中使用的计算机程序产品。所述计算机程序产品包括:非易失性计算机可读存储介质,包括:合并规则库内不同规则之间的相同的字段;
依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;
直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
本发明实施例提供的消息匹配方法及装置,将不同的规则中相同的部分合并,显示不同规则之间的联系。这样的处理能够利用不同规则之间的联系。在进行规则匹配时,可以基于上一次的匹配成功的部分作为起点,而不需要对每个规则都重新进行匹配,有效的提高了匹配性能和处理效率。
附图说明
图1为本发明实施例提供的消息匹配方法的运行环境的示意图;
图2为本发明实施例提供的消息匹配装置的功能框图;
图3为本发明实施例提供的消息匹配方法的方法流程图;
图4为本发明实施例提供的生成多叉树的方法流程图;
图5为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在互联网或者通信领域中,对于各种类型的消息的处理(如消息的解析、表达等)是其中非常重要的部分。对于在互联网或者通信网络中的服务器、客户端的消息处理器或者语义分析器等模块而言,随着用户量或者业务容量的不断膨胀,单位时间内接收以及需要处理的数量越来越大。
在接收到消息后,对于每一条接收的消息均需要为其定义相应的识别和匹配规则(为陈述简便,以下将这些识别和匹配相关的规定、限制或者规则统称为“规则”),作为解析、处理或者语义、词法分析的基础。
由此,在上述软件或者硬件或者两者结合的消息处理功能模块中,会执行消息匹配的过程。亦即在其对应的规则库内进行搜索和匹配,直至找到与接收的消息完全匹配的规则为止。
所述规则库是一个包含了若干不同规则的集合,其可以以任何合适的数据结构进行存储,如分块式存储,也可以存储在多种不同的数据存储结构中,例如数据库、分布式存储单元等。该规则库也可以是在线或者本地数据,能够提供数据调用接口和/或提供数据检索功能。
图1为本发明实施例提供的消息匹配方法的运行环境实例。如图1所示,包括用户10、消息解析服务器20、网络30、消息40以及消息解析结果50。
用户10通过网络30与所述消息解析服务器20通信连接,向消息解析服务器20发送消息40或者接收消息解析结果50。
用户10可以是任何合适的智能或者非智能用户终端。该用户终端具有至少一个通信模块,用于与所述网络30建立连接。该用户终端可以是掌上游戏机、台式计算机、智能手机、平板电脑、电子阅读器、智能穿戴设备、个人电脑、智能电视等。
消息解析服务器20可以接收来自于用户10或者网络30的消息40。该消息解析服务器20接收到消息40后,搜索与消息匹配的规则(惯常的,与消息的类型有关)并根据匹配的规则,对消息进行解析、处理或者语义分析等操作后,输出消息解析结果50。
所述消息解析服务器20具体可以是任何合适的服务器,客户端或者其它需要执行消息匹配功能的硬件、软件或者两者结合的功能模块。该消息解析服务器20能够与一个或者多个规则库连接,在所述规则库内搜索与消息匹配的规则,具体还可以根据实际情况,添加或者减省一些功能模块。
在所述消息解析服务器20中,可以设置用于本发明实施例提供的消息匹配装置,用以执行对应的消息匹配方法,从而实现高效率的消息匹配。
图2为本发明实施例提供的消息匹配装置。如图2所示,该装置包括:字段合并模块100以及搜索模块200。
所述字段合并模块100用于合并规则库内不同规则之间的相同字段。所述搜索模块200用于依次搜索与消息的检索词相匹配的字段,所述消息由具有预定排列次序的若干检索词组成;以及直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则。
其中,所述搜索操作包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
惯常的,消息40可以视为由具有特定排列次序的若干检索词组成,例如,对于“请提供推荐视频”的消息,可以视为“提供”和“推荐视频”两个检索词。具体可以采用现有任何合适的消息40的构造方法来实现上述检索词的生成过程。
相对应的,规则库内的规则也可以是由多个字段组成。由于规则库内的规则数量较多,在不同的规则之间,有很大的可能存在着相同的字段。
由此,在获得消息中所有的检索词对应的已匹配字段后,这些已匹配字段组成的规则即为所述消息匹配的规则。在一些实施例中,该字段合并模块100可以由存储规则的数据库等执行。
图3为本发明实施例提供的消息匹配方法的方法流程图。如图3所示,该方法包括如下步骤:
301:合并规则库内不同规则之间的相同字段。
在此使用“合并”这样的术语表示将不同规则中的相同字段视为同一个匹配单位进行消息匹配。具体可以使用多种数据结构完成该目标,例如将相同字段视为同一个节点、或者将相同字段放置在同一个的集合中。
在进行这样的合并操作以后,可以用有限个的字段表示更多的规则,例如假设规则A具有字段A1、A3、A5、A7四个字段,规则B具有A1、A2、A3、A5、A8五个字段,可以令相同的字段A1、A3、A5分别合并为同一个集合B1、B3以及B5。由此,可以通过记录B1、B3以及B5、A7、A2、A8即可表示规则A和规则B。
302:依次搜索与消息的检索词相匹配的字段,所述消息由具有预定排列次序的若干检索词组成。如上所述,对于任意的消息而言,可以使用合适的算法对其进行拆分,使其形成若干个具有排列次序的检索词,从而以特定的步长在规则库中进行检索。
303:重复进行步骤302的搜索,直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则。
根据上述对于规则以及消息的构造的描述,在匹配的过程中,是以规则的字段以及消息的搜索词为单位进行的。因此,在获取到所有的已匹配字段后,即可获得与其对应的,由这些已匹配字段组成的规则。该规则亦即与消息匹配的规则。
其中,所述搜索与消息的检索词相匹配的字段,具体包括如下的判断过程:
判断当前检索词是否与字段匹配。若是时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段;若否时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
对于不匹配的情况,在此使用“回退”这样的术语,表示重新进行当前检索词的匹配操作。与惯常使用的匹配方法不同的是,该匹配(或者搜索)操作是建立在前一个检索词的已匹配字段的基础上进行的,亦即只需要执行当前检索词的匹配操作而不是从消息的第一个检索词开始进行。
在惯常的消息匹配过程中,由于各个规则之间是相互独立的,规则之间的关系并未被利用。因此,在消息匹配过程中,当消息中的某个检索词与当前的规则不匹配时,消息需要直接放弃在先的匹配成功的检索词,重新以第一个检索词为起点,检索其它符合要求的规则。
在本发明实施例提供的消息匹配方法中,通过将不同规则之间的相同字段合并的方式,显示了不同规则之间的联系。因此,在消息匹配的过程中可以利用该联系来提高检索的效率。亦即,当消息中的某个检索词与当前的规则不匹配时,可以以已匹配字段为基础,只需要重新检索该检索词而不需要以第一个搜索词为起点。
例如,假设规则A具有字段A1、A3、A5、A7四个字段,规则B具有A1、A2、A3、A5、A8五个字段,规则C具有A1、A2、A3、A5、A9五个字段;消息M与规则C相匹配。
在惯常的消息匹配方法中,消息M可能首先与规则A对比,发现在第二个字段不相符时,重新从第一个字段开始,选择规则B或者规则C重新比对。
然后,消息M与规则B进行比对,发现在第五个字段不相符。此时,消息M需要重新从第一个字段开始,与规则C进行比对,直至确定规则C为匹配的规则。
而在本发明实施例提供的方法中,由于相同的字段被合并,显示了规则B和规则C之间具有只有第五个字段不相同这样的联系。因此,消息M在与规则B进行比对,在发现第五个字段不匹配的情况下,可以直接以最接近的已匹配字符(即第四个字符A5)为起点,重新进行搜索,然后确定规则C为与消息M匹配的规则。
由此,在一些比较简单的情况下(如规则A和规则B的比对),惯常的消息匹配方法与本发明实施例提供的消息匹配方法的效率相差不大。但在更多的情况下(如规则B和规则C的比对),本发明实施例提供的消息匹配方法由于能够利用已匹配字段的知识,可以显著的提高匹配的效率,并且随着规则库中的规则数量的增加,两者之间效率的差别将会越来越明显。
在实际操作过程中,可以通过多种不同的数据结构或者数据表示方式体现不同规则之间的联系,实现合并不同规则之间的相同字段的目标。由于字符集合是一个有限集。因此,必定可以通过有限的步骤构建一个与其相对应的多叉树。
在一些实施例中,可以使用这样的多叉树来建立不同规则之间的联系,例如,将不同规则之间的相同字段体现为多叉树结构中的非终端节点(即度不为0的节点),根节点表示初始状态。这样的,根节点的每个子树即能够对应的表示一个规则。
图4为本发明实施例提供的构建与规则库相对应的多叉树的方法的方法流程图。该多叉树与规则库相对应,能够体现不同规则之间的联系用以提高匹配效率。
如图4所示,该方法包括如下步骤:
401:创建根节点并且将规则作为所述根节点的子树。
该根节点表示尚未规则库内的任何规则均未开始匹配的初始状态。以该初始状态为起点,将规则库内所有的规则进行列举,作为根节点的子树,例如规则库内包括100条规则,则分别列举100条规则并将其作为根节点的子树。
402:根据预定的单位长度,将所述子树拆分为若干比对单元;所述单位长度与所述规则的字段对应。
该预定的单位长度具体可以是任何合适的长度,具体根据规则库内规则的实际情况予以确定,例如规则的最小单位长度(一个字符)或者更长的单位长度。一般的,更短的单位长度能够建立具有更多节点的多叉树,缩短检索时回退的距离(即具有更高的匹配效率)。
403:以根节点为起点,依次序比对各子树的比对单元。
在比对各子树之间的比对单元时,是依据次序进行。只有位于同一位置的比对单元才进行比对,例如,规则A的第一个比对单元与规则B、规则C的第一个比对单元进行比对,而非将规则A的第二个比对单元与规格B或者规则C的第三或者第四个比对单元进行比对。
404:将相同的比对单元合并为同一个节点。
合并为同一个节点的方式可以实现上述步骤中的所述的“合并”操作,将相同的字段视为同一个元素或者集合。例如,在规则库中具有75条规则,其中30条规则的第一个字符为a,另外45条规则的第一个字符为b时,可以将其中的30条规则的第一个字符合并为节点A,并将另外45条规则的第一个字符合并为节点B。
一般的,在实际的生成过程中,比对不同的比对单元以及合并相同的比对单元(步骤403和404)是一个重复进行的过程。在每一次重复执行步骤403和404时,可以将上一次获得的节点为视作根节点,进行比对和合并。例如,以节点A视作根节点,比对30条规则中的第二个字符是否相同,并将相同的字符合并为同一个节点。
具体的重复次数与规则的比对单元的数量相当。亦即,需要比对至规则的最后一个比对单元,直至节点之后没有后续的比对单元需要进行比对。
405:连接所述根节点及节点,生成所述多叉树。确定多叉树的节点后,沿规则的延伸方向,连接各个节点以及根节点即可生成该多叉树,用以表示特定的规则库。
上述多叉树是一个多层次的数据结构,每一层次的节点表示规则的第几个比对单元。对于规则的最后一个比对单元,其作为多叉树的叶子节点(即度为0的节点,又称终端节点),亦即不具有任何子节点的节点,这样的多叉树具有与规则库内的规则相对应的层次数量。
在与规则库对应的多叉树生成完毕后,可以通过遍历该多叉树的方法在多叉树中完成消息匹配的任务,获得与消息匹配的规则。
基于以上的多叉树生成方式。规则库中的规则与由所述多叉树中以根节点为起点、叶子节点为终点的路径对应。由此,在匹配时可以使用任何合适的路径搜索算法,通过在多叉树中寻找一条满足与消息对应的限制条件的路径的方式来完成消息匹配。
在一些实施例中,可以通过依次选择每个层次中的节点作为延伸方式在多叉树中寻找满足限制条件的路径,例如,首先在第一层次中选择符合限制条件的节点A,然后在节点A的子节点中选择符合限制条件的节点A1直至选出最低层次的,符合限制条件的叶子节点。
在上述寻找路径的过程中,若当前检索词与多叉树的当前节点不匹配(即选择的节点不满足限制条件时),可以回退至所述当前节点的父节点并且重新选择所述父节点的其它子节点,尝试是否符合限制条件。
在多叉树结构中,可以实现这样的回退操作。而在平行的规则中,如两个规则的子树之间没有交点时,一旦无法满足限制条件,就必须回退至起始点,如根节点重新搜索合适的路径。
在本实施例中,执行上述方法生成的多叉树执行消息匹配操作时,由于能够充分的利用不同规则之间的联系。因此,可以大幅度的提高和增强消息解析服务器进行消息匹配的匹配性能,提高单位时间内处理的消息量。而且,这样的数据结构能够随规则数量的增长提供更多的规则之间的联系,与原有的平行匹配方式相比,效率优势更为显著。
需要说明的是,由于图2所示的消息匹配装置与本发明实施例提供的消息匹配方法基于相同的申请构思,因此,方法实施例中的相应内容同样适用于装置实施例,例如,消息匹配装置中的字段合并模块100可以用于执行方法实施例中的提供的多叉树生成步骤,搜索模块200具体可以通过遍历字段合并模块提供的多叉树,获得与消息匹配的规则。为陈述简便,此处不再详述。
图5是本发明实施例提供的的电子设备的硬件结构示意图。如图5所示,该设备包括:一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
处理器510、存储器520可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的消息匹配方法对应的程序指令/模块(例如,附图2所示的字段合并模块100和搜索模块200)。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例消息匹配方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据消息匹配装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至消息匹配装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的消息匹配方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种消息匹配方法,其特征在于,包括:
合并规则库内不同规则之间的相同的字段;
依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;
直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一个检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
2.根据权利要求1所述的方法,其特征在于,所述合并不同规则之间的相同的字段,具体包括:
生成与所述规则库相对应的多叉树;所述多叉树的非终端节点为不同规则之间的相同的字段。
3.根据权利要求2所述的方法,其特征在于,所述生成与所述规则库相对应的多叉树,具体包括:
创建根节点并且将规则作为所述根节点的子树;
根据预定的单位长度,将所述子树拆分为若干比对单元;所述单位长度与所述规则的字段对应;
以根节点为起点,依次序比对各子树的比对单元;
将相同的比对单元合并为同一个节点;
连接所述根节点及节点,生成所述多叉树。
4.根据权利要求3所述的方法,其特征在于,所述子树的最后一个比对单元为多叉树的叶子节点。
5.根据权利要求2所述的方法,其特征在于,所述依次搜索与消息的检索词相匹配的字段,直至获取组成消息的全部检索词的已匹配字段,具体包括:
从所述多叉树的根节点开始,遍历所述多叉树以获取与所述消息匹配的规则。
6.根据权利要求5所述的方法,其特征在于,所述在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段,具体包括:
在当前检索词与多叉树的当前节点不匹配时,回退至所述当前节点的父节点并重新选择所述父节点的其它子节点。
7.一种消息匹配装置,其特征在于,包括:
字段合并模块,用于合并规则库内不同规则之间的相同的字段;
搜索模块,用于依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;以及直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一个检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
8.根据权利要求7所述的装置,其特征在于,所述字段合并模块具体用于:
生成与所述规则库相对应的多叉树;所述多叉树的非终端节点为不同规则之间的相同的字段。
9.根据权利要求8所述的装置,其特征在于,所述字段合并模块具体用于:
创建根节点并且将规则作为所述根节点的子树;
根据预定的单位长度,将所述子树拆分为若干比对单元;所述单位长度与所述规则的字段对应;
以根节点为起点,依次序比对各子树的比对单元;
将相同的比对单元合并为同一个节点;
连接所述根节点及节点,生成所述多叉树。
10.根据权利要求9所述的装置,其特征在于,所述子树的最后一个比对单元为多叉树的叶子节点。
11.根据权利要求7所述的装置,其特征在于,所述搜索模块具体用于:
从所述多叉树的根节点开始,遍历所述多叉树以获取与所述待匹配消息相匹配的规则。
12.根据权利要求11所述的装置,其特征在于,所述搜索模块还用于:
在当前检索词与多叉树的当前节点不匹配时,回退至所述当前节点的父节点并重新选择所述父节点的其它子节点。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器能够:
合并规则库内不同规则之间的相同的字段;
依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;
直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
14.一种在消息匹配装置中使用的计算机程序产品,其特征在于,所述计算机程序产品包括:
非易失性计算机可读存储介质,包括:
合并规则库内不同规则之间的相同的字段;
依次搜索与消息的检索词相匹配的字段,所述消息由若干具有预定排列次序的检索词组成;
直至获取组成消息的全部检索词的已匹配字段,所述已匹配字段组成的规则为与所述消息匹配的规则;
所述搜索与消息的检索词相匹配的字段,具体包括:在当前检索词与字段匹配时,确定字段为已匹配字段并搜索与下一检索词相匹配的字段,以及在当前检索词与字段不匹配时,回退至最接近的已匹配字段,重新搜索与当前检索词匹配的字段。
CN201680002780.0A 2016-11-16 2016-11-16 消息匹配方法、消息匹配装置及计算机程序产品、电子设备 Pending CN106716420A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/106119 WO2018090253A1 (zh) 2016-11-16 2016-11-16 消息匹配方法、消息匹配装置及计算机程序产品、电子设备

Publications (1)

Publication Number Publication Date
CN106716420A true CN106716420A (zh) 2017-05-24

Family

ID=58906765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680002780.0A Pending CN106716420A (zh) 2016-11-16 2016-11-16 消息匹配方法、消息匹配装置及计算机程序产品、电子设备

Country Status (2)

Country Link
CN (1) CN106716420A (zh)
WO (1) WO2018090253A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090253A1 (zh) * 2016-11-16 2018-05-24 深圳达闼科技控股有限公司 消息匹配方法、消息匹配装置及计算机程序产品、电子设备
CN109614465A (zh) * 2018-11-13 2019-04-12 中科创达软件股份有限公司 基于引证关系的数据处理方法、装置及电子设备
CN115907857A (zh) * 2023-01-04 2023-04-04 北京白龙马云行科技有限公司 接单奖励模型生成方法、装置、计算机设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765161B (zh) * 2020-12-30 2023-08-08 北京奇艺世纪科技有限公司 报警规则匹配方法、装置、电子设备及存储介质
CN113282624B (zh) * 2021-05-25 2024-05-14 北京达佳互联信息技术有限公司 规则匹配方法、装置、电子设备及存储介质
CN114189572B (zh) * 2021-12-16 2022-09-06 深圳市领创星通科技有限公司 一种包检测规则匹配方法、装置、网元及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10358289A1 (de) * 2003-01-29 2004-12-30 Volkswagen Ag Verfahren und Vorrichtung zur Weiterverarbeitung von Daten eines Zustandsautomaten
CN101516086A (zh) * 2008-02-21 2009-08-26 卓望数码技术(深圳)有限公司 移动通讯的业务匹配方法
CN102291440A (zh) * 2011-07-28 2011-12-21 清华大学 一种云环境下规则优化方法及装置
CN105843882A (zh) * 2016-03-21 2016-08-10 乐视网信息技术(北京)股份有限公司 一种信息匹配方法及装置
CN105843878A (zh) * 2016-03-17 2016-08-10 杭州优云软件有限公司 一种it系统事件标准化实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5817241B2 (ja) * 2011-06-20 2015-11-18 富士通株式会社 時系列ルール抽出装置、時系列ルール抽出方法及び時系列ルール抽出プログラム
CN103345480B (zh) * 2013-06-19 2016-08-17 西北工业大学 一种基于规则合并的数据流预测方法
CN104809184A (zh) * 2015-04-20 2015-07-29 西北工业大学 基于规则前件发生树匹配的数据流预测方法
WO2018090253A1 (zh) * 2016-11-16 2018-05-24 深圳达闼科技控股有限公司 消息匹配方法、消息匹配装置及计算机程序产品、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10358289A1 (de) * 2003-01-29 2004-12-30 Volkswagen Ag Verfahren und Vorrichtung zur Weiterverarbeitung von Daten eines Zustandsautomaten
CN101516086A (zh) * 2008-02-21 2009-08-26 卓望数码技术(深圳)有限公司 移动通讯的业务匹配方法
CN102291440A (zh) * 2011-07-28 2011-12-21 清华大学 一种云环境下规则优化方法及装置
CN105843878A (zh) * 2016-03-17 2016-08-10 杭州优云软件有限公司 一种it系统事件标准化实现方法
CN105843882A (zh) * 2016-03-21 2016-08-10 乐视网信息技术(北京)股份有限公司 一种信息匹配方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090253A1 (zh) * 2016-11-16 2018-05-24 深圳达闼科技控股有限公司 消息匹配方法、消息匹配装置及计算机程序产品、电子设备
CN109614465A (zh) * 2018-11-13 2019-04-12 中科创达软件股份有限公司 基于引证关系的数据处理方法、装置及电子设备
CN115907857A (zh) * 2023-01-04 2023-04-04 北京白龙马云行科技有限公司 接单奖励模型生成方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2018090253A1 (zh) 2018-05-24

Similar Documents

Publication Publication Date Title
CN106716420A (zh) 消息匹配方法、消息匹配装置及计算机程序产品、电子设备
Eppstein The traveling salesman problem for cubic graphs
US8219581B2 (en) Method and system for analyzing ordered data using pattern matching in a relational database
Jiang et al. Top K query for QoS-aware automatic service composition
US8655921B2 (en) True/false decision method for deciding whether search query containing logical expression is true or false
CN109791492B (zh) 流水线相关树查询优化器和调度器
WO2015010509A1 (zh) 一种基于一维线性空间实现Trie树的词典检索方法
Rytsareva et al. Parallel algorithms for clustering biological graphs on distributed and shared memory architectures
Jongmans et al. Partially-distributed coordination with Reo
Guyet et al. Incremental mining of frequent serial episodes considering multiple occurrences
D'Angelo et al. Fully dynamic update of arc‐flags
JP2006350729A (ja) アプリケーションソフトウェア構築方法、アプリケーションソフトウェア構築処理プログラム及びアプリケーションソフトウェア構築装置
US20160125095A1 (en) Lightweight temporal graph management engine
CN113268485A (zh) 数据表关联分析方法、装置、设备及存储介质
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器
CN108304467B (zh) 用于文本间匹配的方法
Al Aghbari et al. Geosimmr: A mapreduce algorithm for detecting communities based on distance and interest in social networks
CN108628892A (zh) 有序数据存储的方法、装置、电子设备和可读存储介质
Sørensen A down‐up chain with persistent labels on multifurcating trees
Van Oirschot et al. Using trace clustering for configurable process discovery explained by event log data
CN116339716A (zh) 一种流程图的分析方法
Li et al. FACC: a novel finite automaton based on cloud computing for the multiple longest common subsequences search
Pandey et al. Mining on relationships in big data era using improve apriori algorithm with MapReduce approach
Chapman et al. An OpenMP algorithm and implementation for clustering biological graphs
Jin et al. A center-based community detection method in weighted networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170524

RJ01 Rejection of invention patent application after publication