CN112765969A - 一种高效实时的表达式语法验证方法及系统 - Google Patents

一种高效实时的表达式语法验证方法及系统 Download PDF

Info

Publication number
CN112765969A
CN112765969A CN202110030397.9A CN202110030397A CN112765969A CN 112765969 A CN112765969 A CN 112765969A CN 202110030397 A CN202110030397 A CN 202110030397A CN 112765969 A CN112765969 A CN 112765969A
Authority
CN
China
Prior art keywords
expression
grammar
verification
module
atomic
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.)
Granted
Application number
CN202110030397.9A
Other languages
English (en)
Other versions
CN112765969B (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.)
Chengdu Shensi Science & Technology Co ltd
Original Assignee
Chengdu Shensi Science & 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 Chengdu Shensi Science & Technology Co ltd filed Critical Chengdu Shensi Science & Technology Co ltd
Priority to CN202110030397.9A priority Critical patent/CN112765969B/zh
Publication of CN112765969A publication Critical patent/CN112765969A/zh
Application granted granted Critical
Publication of CN112765969B publication Critical patent/CN112765969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种高效实时的表达式语法验证方法及系统,所述表达式语法验证方法包括:S1、当用户编辑表达式时,触发输入框监听事件,自动获取用户输入的过滤分析表达式,并通过语法分析器进行分析;S2、语法分析器对表达式左值、右值和逻辑运算符进行完整性校验,完整性校验通过后执行步骤S3;S3、将表达式进行原子化,并对原子表达式语法进行验证;S4、判断并反馈表达式语法的验证结果,如果验证错误一并反馈错误原子表达式,完成表达式的语法验证。本发明的优点在于:能将复杂的表达式拆分原子化,避免多次校验时,对相同前序子表达式重复校验,提升资源利用率,提高校验效率。

Description

一种高效实时的表达式语法验证方法及系统
技术领域
本发明涉及网络表达式分析验证领域,尤其涉及一种高效实时的表达式语法验证方法及系统。
背景技术
随着网络技术的发展,网络数据流量持续增长,为了快速地降低网络数据流量的量级、缩减网络数据流量至用户所关心的范围,人们开始通过输入过滤分析表达式的方式,对原始的网络数据进行过滤;然而,在现有的表达式过滤方式使用中,由于复杂表达式语法验证较为困难,且验证结果响应不及时,使得人们只能使用较为简单的表达式,对网络数据进行过滤。然后针对过滤的结果,再次使用表达式进行过滤,如此反复,直至从原始网络数据中过滤分析出用户关注的网络数据。此种情况下,大大延长了网络数据分析的处理过程,严重降低了网络数据分析的工作效率。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种高效实时的表达式语法验证方法及系统,解决了现有技术中存在的不足。
本发明的目的通过以下技术方案来实现:一种高效实时的表达式语法验证方法,所述表达式语法验证方法包括:
S1、当用户编辑表达式时,触发输入框监听事件,自动获取用户输入的过滤分析表达式,并通过语法分析器进行分析;
S2、语法分析器对表达式左值、右值和逻辑运算符进行完整性校验,完整性校验通过后执行步骤S3;
S3、将表达式进行原子化,并对原子表达式语法进行验证;
S4、判断并反馈表达式语法的验证结果,如果验证错误一并反馈错误原子表达式,完成表达式的语法验证。
所述S3步骤中将表达式进行原子化包括:
语法分析器以表达式中的逻辑运算符为依据进行表达式的切分;
语法分析器对切分后的表达式进行处理,得到最简的原子表达式;
将原子表达式压入表达式验证模块。
所述步骤S3中对原子表达式语法进行验证包括:
从每一次输入框获取用户焦点,创建表达式语法分析对象,到输入框失去用户焦点时,删除表达式语法分析对象,该对象会记录并保存压入表达式校验模块的原子表达式,标记出新增或者变化表达式;
对新增或者变化表达式语法进行校验,记录该原子表达式语法合规性,如果后续该原子表达式不再出现变化,则停止进行新的校验。
所述S4步骤中判断表达式的验证结果包括:
获取表达式语法分析对象所有原子表达式的结果,如果全部成功,则整个表达式语法验证通过,如果存在一个返回失败或者在验证过程中被终止,则表示表达式语法验证不通过。
所述表达式语法验证方法还包括当用户焦点为表达式输入框时,启动表达式输入框Value属性状态监听事件,并在后台创建对应的表达式语法分析对象的步骤;且该步骤执行于所述步骤S1之前。
一种高效实时的表达式语法验证系统,它包括监听模块、表达式输入模块、语法分析器、校验模块、判断模块和反馈模块;
所述监听模块用于当用户焦点为所述表达式输入模块时,对表达式输入模块Value属性状态进行监听,并在用户修改编辑表达式时进行监听;
所述表达式输入模块用于对表达式进行修改编辑;
所述语法分析器用于对输入的表达式进行完整性验证,并在验证通过后以表达式中的逻辑运算符为依据进行表达式切分,并对切分后的表达式进行处理;
所述校验模块用于对表达式语法进行校验或者验证;
所述判断模块用于对所述校验模块的验证结果进行判断;
所述反馈模块用于反馈表达式语法的验证结果,如果错误一并反馈错误原子表达式。
本发明具有以下优点:一种高效实时的表达式语法验证方法及系统,能将复杂的表达式拆分原子化,避免多次校验时,对相同前序子表达式重复校验,提升资源利用率,提高校验效率;整体判定,仅对原子结果进行终判,无需递归,降低语法验证的时间复杂度和空间复杂度;屏蔽常规“输入完成>提交验证>反馈结果”模式,对用户输入的表达式,实时验证并反馈结果,无需多次交互。
附图说明
图1为本发明的方法流程示意图。
具体实施方式
下面结合附图对本发明做进一步的描述,但本发明的保护范围不局限于以下所述。
如图1所示,本发明涉及一种高效实时的表达式语法验证方法,针对用户输入的过滤分析表达式,实现高效实时的表达式语法合法性的验证;将表达式进行最简化切割,表达式原子化(注.原子化:如port==80&&protocol==http,原子化后得到两个原子:1.port==80;2.protocol==http),表达式变化修改后,只对变化原子进行校验,大大降低表达式的复杂度和长度,最后进行终判验证的方式,大幅提升表达式语法验证的速度,实现对用户输入的表达式进行实时验证响应,改善程序交互的友好度,提高用户的工作效率;其具体包括以下内容:
步骤一:当用户焦点为表达式输入框时,启动表达式输入框Value属性状态监听事件,并在后台创建对应的表达式语法分析对象;
步骤二:当用户修改,编辑表达式时,触发输入框监听事件,系统获取用户输入的过滤分析表达式,并将该表达式交由系统的语法分析器。
步骤三:语法解析器对表达式左值、右值、逻辑运算符进行完整性校验。如果判断不完整,结束验证,返回语法错误的校验结果。
步骤四:表达式原子化。
A1、语法分析器以表达式中的逻辑运算符为依据进行表达式的切分。逻辑运算符包括逻辑与(“and”、“&&”)、逻辑或(“or”、“||”)以及逻辑非(“!”)。
A2、语法分析器对切分后的表达式进行处理(如:忽略非必要的空格字符等),得到最简表达式,即原子表达式。其中,最简表达式是指仅由表达式关键字、比较运算符以及结果值三部分元素组成的最小单位的完整表达式。
A3、将原子表达式压入表达式校验模块。
步骤五:表达式语法的验证。
B1、从每一次输入框获取用户焦点,即创建表达式语法分析对象,到输入框失去用户焦点时,删除表达式语法分析对象;该对象会记录并保存压入表达式校验模块的原子表达式,标记出新增或变化原子表达式;
B2、对新增或者变化原子表达式语法进行校验,记录该原子表达式语法合规性,如果后续该原子表达式不在出现变化,将不再进行新的校验;
步骤六:终判表达式验证的结果。
获取表达式语法分析对象所有原子表达式的结果,若都是成功则整个表达式语法验证通过,只要有一个返回失败,或者在验证过程中被终止,则表示表达式语法验证不通过。
步骤七:反馈表达式语法的验证结果,如果错误一并反馈错误原子表达式,完成表达式语法验证。
本发明的另一种实施例涉及一种高效实时的表达式语法验证系统,它包括监听模块、表达式输入模块、语法分析器、校验模块、判断模块和反馈模块;
所述监听模块用于当用户焦点为所述表达式输入模块时,对表达式输入模块Value属性状态进行监听,并在用户修改编辑表达式时进行监听;
所述表达式输入模块用于对表达式进行修改编辑;
所述语法分析器用于对输入的表达式进行完整性验证,并在验证通过后以表达式中的逻辑运算符为依据进行表达式切分,并对切分后的表达式进行处理;
所述校验模块用于对表达式语法进行校验或者验证;
所述判断模块用于对所述校验模块的验证结果进行判断;
所述反馈模块用于反馈表达式语法的验证结果,如果错误一并反馈错误原子表达式。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (6)

1.一种高效实时的表达式语法验证方法,其特征在于:所述表达式语法验证方法包括:
S1、当用户编辑表达式时,触发输入框监听事件,自动获取用户输入的过滤分析表达式,并通过语法分析器进行分析;
S2、语法分析器对表达式左值、右值和逻辑运算符进行完整性校验,完整性校验通过后执行步骤S3;
S3、将表达式进行原子化,并对原子表达式语法进行验证;
S4、判断并反馈表达式语法的验证结果,如果验证错误一并反馈错误原子表达式,完成表达式的语法验证。
2.根据权利要求1所述的一种高效实时的表达式语法验证方法,其特征在于:所述S3步骤中将表达式进行原子化包括:
语法分析器以表达式中的逻辑运算符为依据进行表达式的切分;
语法分析器对切分后的表达式进行处理,得到最简的原子表达式;
将原子表达式压入表达式验证模块。
3.根据权利要求2所述的一种高效实时的表达式语法验证方法,其特征在于:所述步骤S3中对原子表达式语法进行验证包括:
从每一次输入框获取用户焦点,创建表达式语法分析对象,到输入框失去用户焦点时,删除表达式语法分析对象,该对象会记录并保存压入表达式校验模块的原子表达式,标记出新增或者变化表达式;
对新增或者变化表达式语法进行校验,记录该原子表达式语法合规性,如果后续该原子表达式不再出现变化,则停止进行新的校验。
4.根据权利要求1所述的一种高效实时的表达式语法验证方法,其特征在于:所述S4步骤中判断表达式的验证结果包括:
获取表达式语法分析对象所有原子表达式的结果,如果全部成功,则整个表达式语法验证通过,如果存在一个返回失败或者在验证过程中被终止,则表示表达式语法验证不通过。
5.根据权利要求1-4中任一项所述的一种高效实时的表达式语法验证方法,其特征在于:所述表达式语法验证方法还包括当用户焦点为表达式输入框时,启动表达式输入框Value属性状态监听事件,并在后台创建对应的表达式语法分析对象的步骤;且该步骤执行于所述步骤S1之前。
6.一种高效实时的表达式语法验证系统,其特征在于:它包括监听模块、表达式输入模块、语法分析器、校验模块、判断模块和反馈模块;
所述监听模块用于当用户焦点为所述表达式输入模块时,对表达式输入模块Value属性状态进行监听,并在用户修改编辑表达式时进行监听;
所述表达式输入模块用于对表达式进行修改编辑;
所述语法分析器用于对输入的表达式进行完整性验证,并在验证通过后以表达式中的逻辑运算符为依据进行表达式切分,并对切分后的表达式进行处理;
所述校验模块用于对表达式语法进行校验或者验证;
所述判断模块用于对所述校验模块的验证结果进行判断;
所述反馈模块用于反馈表达式语法的验证结果,如果错误一并反馈错误原子表达式。
CN202110030397.9A 2021-01-11 2021-01-11 一种高效实时的表达式语法验证方法及系统 Active CN112765969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110030397.9A CN112765969B (zh) 2021-01-11 2021-01-11 一种高效实时的表达式语法验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110030397.9A CN112765969B (zh) 2021-01-11 2021-01-11 一种高效实时的表达式语法验证方法及系统

Publications (2)

Publication Number Publication Date
CN112765969A true CN112765969A (zh) 2021-05-07
CN112765969B CN112765969B (zh) 2024-07-02

Family

ID=75701191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110030397.9A Active CN112765969B (zh) 2021-01-11 2021-01-11 一种高效实时的表达式语法验证方法及系统

Country Status (1)

Country Link
CN (1) CN112765969B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504848A (en) * 1992-12-22 1996-04-02 Brother Kogyo Kabushiki Kaisha Word processor with data table calculating function, capable of indicating necessity of re-calculations to solve mathematical expressions in changed data table
US8122354B1 (en) * 2005-02-25 2012-02-21 The Mathworks, Inc. Systems and methods for providing an indicator of detection of input related to an element of a user interface
CN103034553A (zh) * 2012-12-20 2013-04-10 厦门亿力吉奥信息科技有限公司 一种报表设计器智能验证的算法、方法及装置
CN105404620A (zh) * 2015-11-20 2016-03-16 华为技术有限公司 一种表单校验的方法和装置
CN105404497A (zh) * 2015-10-26 2016-03-16 北京锐安科技有限公司 一种逻辑表达式的解析方法及装置
CN105677528A (zh) * 2016-01-06 2016-06-15 长园共创电力安全技术股份有限公司 通过逆波兰表达式对五防逻辑表达式进行校验的方法
US20180181608A1 (en) * 2016-12-22 2018-06-28 Sap Se Expression update validation
CN109271152A (zh) * 2018-08-17 2019-01-25 五八有限公司 一种输入框内容的校验方法、装置、存储介质及终端
CN113885880A (zh) * 2021-10-25 2022-01-04 杭州安恒信息技术股份有限公司 一种多规则匹配方法、装置及设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504848A (en) * 1992-12-22 1996-04-02 Brother Kogyo Kabushiki Kaisha Word processor with data table calculating function, capable of indicating necessity of re-calculations to solve mathematical expressions in changed data table
US8122354B1 (en) * 2005-02-25 2012-02-21 The Mathworks, Inc. Systems and methods for providing an indicator of detection of input related to an element of a user interface
CN103034553A (zh) * 2012-12-20 2013-04-10 厦门亿力吉奥信息科技有限公司 一种报表设计器智能验证的算法、方法及装置
CN105404497A (zh) * 2015-10-26 2016-03-16 北京锐安科技有限公司 一种逻辑表达式的解析方法及装置
CN105404620A (zh) * 2015-11-20 2016-03-16 华为技术有限公司 一种表单校验的方法和装置
CN105677528A (zh) * 2016-01-06 2016-06-15 长园共创电力安全技术股份有限公司 通过逆波兰表达式对五防逻辑表达式进行校验的方法
US20180181608A1 (en) * 2016-12-22 2018-06-28 Sap Se Expression update validation
CN109271152A (zh) * 2018-08-17 2019-01-25 五八有限公司 一种输入框内容的校验方法、装置、存储介质及终端
CN113885880A (zh) * 2021-10-25 2022-01-04 杭州安恒信息技术股份有限公司 一种多规则匹配方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
醉卧南柯: "逻辑表达式的合法性判断(包含小括号的匹配)-iOS", pages 25 - 27, Retrieved from the Internet <URL:https://blog.csdn.net/GeekLee609/article/details/97499798> *

Also Published As

Publication number Publication date
CN112765969B (zh) 2024-07-02

Similar Documents

Publication Publication Date Title
US20090070633A1 (en) Test results management
CN107292170A (zh) Sql注入攻击的检测方法及装置、系统
CN110427188B (zh) 单测断言程序的配置方法、装置、设备及存储介质
US7117116B2 (en) Method and system for cutting point cloud automatically
CN103886024A (zh) 一种基于多层业务关联的数据库审计方法及系统
US11347620B2 (en) Parsing hierarchical session log data for search and analytics
Baker et al. Automatic generation of conformance tests from message sequence charts
EP3222002B1 (de) Analysevorrichtung zur analyse und manipulation einer kommunikationssequenz
CN114880240A (zh) 一种物联网设备自动化测试系统、方法、存储介质及设备
CN115934097A (zh) 生成可执行语句的方法、装置、存储介质及电子装置
CN112765969B (zh) 一种高效实时的表达式语法验证方法及系统
CN112269569A (zh) 一种可视化脚本在线编辑验证与自动化执行装置
CN112800064A (zh) 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
CN113157790A (zh) 一种核聚变曲线编辑方法、系统、终端及介质
CN109101403A (zh) 一种对移动端产生sql进行实时监控的方法及系统
CN107423105A (zh) 一种接口文档的自动生成方法
CN111984826A (zh) 基于xml的数据自动入库方法、系统、装置和存储介质
CN111090572A (zh) 一种对MySQL数据库进行性能测试的系统和方法
CN116389049A (zh) 一种针对单数据流的数据安全分析方法及装置
Alekseev et al. Finite state machine based flow analysis for webrtc applications
CN115712552A (zh) 一种api和数据库的关联审计方法及系统
CN114579809A (zh) 事件分析方法、装置、电子设备及存储介质
CN116028345A (zh) 读取页面元素智能生成测试脚本的自动测试方法及系统
CN109241388A (zh) 一种应用程序接口行为分析方法和系统
CN114185928A (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: 2119, 21st floor, unit 1, building 7, 1700 Tianfu Avenue North Section, high tech Zone, Chengdu, Sichuan 610000

Applicant after: Chengdu Fengwei Technology Co.,Ltd.

Address before: No. 2119, 21st floor, unit 1, building 7, No. 1700, North Tianfu Avenue, high tech Zone, Chengdu, Sichuan 610041

Applicant before: CHENGDU SHENSI SCIENCE & TECHNOLOGY Co.,Ltd.

Country or region before: China

GR01 Patent grant