CN112765969A - 一种高效实时的表达式语法验证方法及系统 - Google Patents
一种高效实时的表达式语法验证方法及系统 Download PDFInfo
- 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
Links
- 230000014509 gene expression Effects 0.000 title claims abstract description 186
- 238000012795 verification Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004458 analytical method Methods 0.000 claims abstract description 21
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000000889 atomisation Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010195 expression analysis Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
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属性状态进行监听,并在用户修改编辑表达式时进行监听;
所述表达式输入模块用于对表达式进行修改编辑;
所述语法分析器用于对输入的表达式进行完整性验证,并在验证通过后以表达式中的逻辑运算符为依据进行表达式切分,并对切分后的表达式进行处理;
所述校验模块用于对表达式语法进行校验或者验证;
所述判断模块用于对所述校验模块的验证结果进行判断;
所述反馈模块用于反馈表达式语法的验证结果,如果错误一并反馈错误原子表达式。
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)
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 | 杭州安恒信息技术股份有限公司 | 一种多规则匹配方法、装置及设备 |
-
2021
- 2021-01-11 CN CN202110030397.9A patent/CN112765969B/zh active Active
Patent Citations (9)
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)
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 |