CN103488715B - 一种基于全局设置的预解析管理方法及系统 - Google Patents
一种基于全局设置的预解析管理方法及系统 Download PDFInfo
- Publication number
- CN103488715B CN103488715B CN201310412439.0A CN201310412439A CN103488715B CN 103488715 B CN103488715 B CN 103488715B CN 201310412439 A CN201310412439 A CN 201310412439A CN 103488715 B CN103488715 B CN 103488715B
- Authority
- CN
- China
- Prior art keywords
- parsed
- sql sentence
- bit variable
- structuring
- module
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于全局设置的预解析管理方法,具体包括以下步骤:步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量;步骤2:对步骤1完成结构化SQL语句进行预解析;步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,进行步骤6;步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,进行步骤6;步骤6:建立全局结构化SQL语句信息表,完成数据库管理。本发明可有效避免因数据库异常重连或二次开发忽略等问题发生时遗漏SQL语句预解析的情况,使得代码清晰易懂,二次开发简单,产品程序实时运行健壮。
Description
技术领域
本发明涉及一种基于全局设置的预解析管理方法及系统。
背景技术
随着电信运营商不断的发展,用户量、业务量越来越多,对实时性支撑系统的要求也越来越高,并且在种类繁多的业务需求的驱动下,需要调整程序的场景将会越来越多。原有的程序中,对数据库连接、预解析等操作,都是在业务流程开始前准备阶段执行,然后在业务处理流程中使用,这样在数据库发生异常需重连时,对各类操作语句重新预解析等,很容易修改遗漏,影响程序操作或者处理性能等。
因此,为了提高程序健壮性及后续开发简洁性,可提供一种方法,将程序进行数据库操作的SQL语句和预解析等进行统一管理,减少产品程序二次开发的难度,保障整个产品系统的稳定运行和处理效率。
现有技术中,在电信业务支撑系统内部解决实时对数据库连接操作系统中,由于程序内部SQL解析管理不合理,在某些场景下造成应用崩溃或效率低下等问题。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供一种降低数据库操作类程序二次开发的难度、提升产品系统的健壮性的基于全局设置的预解析管理方法。
本发明解决上述技术问题的技术方案如下:一种基于全局设置的预解析管理方法,具体包括以下步骤:
步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析;
步骤2:对步骤1完成添加顺序编码及其标志位变量的结构化SQL语句进行预解析;
步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;
步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,进行步骤6;
步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,进行步骤6;
步骤6:将应用系统中所有添加标志位变量的结构化SQL语句建立全局结构化SQL语句信息表,完成数据库管理。
本发明的有益效果是:本发明所述方法建立全局SQL语句信息表,设置预解析标志位变量,在每次数据库SQL执行操作前,对标志位变量进行检查,如果未预解析,则进行预解析并将标志位变量替换为已预解析;如果为已预解析,则表示已经预解析,则直接跳过解析执行操作;这样可有效避免因数据库异常重连或二次开发忽略等问题发生时遗漏SQL语句预解析的情况,使得代码清晰易懂,二次开发简单,产品程序实时运行健壮。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
进一步,所述步骤1中的编码方式可按照实际需要自行定义。
进一步,所述步骤3中建立全局结构化SQL语句信息表可采用以下方式实现:定义为结构化SQL语句数组;或者构造结构化SQL语句树;或者构造结构化SQL语句链表。
本发明的另一个目的是,针对现有技术的不足,提供一种降低数据库操作类程序二次开发的难度、提升产品系统的健壮性的基于全局设置的预解析管理系统。
本发明解决上述技术问题的技术方案如下:一种基于全局设置的预解析管理系统,包括数据库、编码模块、预解析模块和结构化模块;
所述编码模块用于将数据库中的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析,并将完成添加顺序编码及其标志位变量的结构化SQL语句发送至预解析模块;
所述预解析模块对从编码模块传输至的结构化SQL语句进行预解析;并判断是否预解析成功,对预解析成功的结构化SQL语句的标志位变量设置为已完成预解析标志位变量,对未预解析成功的结构化SQL语句的标志位变量设置为未预解析标志位变量,并将完成标志位变量设置的结构化SQL语句发送至结构化模块;
所述结构化模块用于将数据库中标志位变量设置的结构化SQL语句建立全局结构化SQL语句信息表,完成数据库管理。
本发明的有益效果是:本发明所述系统建立全局SQL语句信息表,设置预解析标志位变量,在每次数据库SQL执行操作前,对标志位变量进行检查,如果未预解析,则进行预解析并将标志位变量替换为已预解析;如果为已预解析,则表示已经预解析,则直接跳过解析执行操作;这样可有效避免因数据库异常重连或二次开发忽略等问题发生时遗漏SQL语句预解析的情况,使得代码清晰易懂,二次开发简单,产品程序实时运行健壮。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
进一步,所述编码模块中的编码方式可按照实际需要自行定义。
进一步,所述结构化模块中建立全局结构化SQL语句信息表可采用以下方式实现:定义为结构化SQL语句数组;或者构造结构化SQL语句树;或者构造结构化SQL语句链表。
附图说明
图1为本发明具体实施例1所述的一种基于全局设置的预解析管理方法流程图;
图2为本发明具体实施例2所述的一种基于全局设置的预解析管理方法流程图;
图3为本发明具体实施例3所述的一种基于全局设置的预解析管理方法流程图;
图4为本发明具体实施例4所述的一种基于全局设置的预解析管理系统的结构框图。
附图中,各标号所代表的部件列表如下:
1、编码模块,2、预解析模块,3、结构化模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明具体实施例1所述的一种基于全局设置的预解析管理方法,具体包括以下步骤:
步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析;顺序编码考虑使用数组的实现方式,使用自然数进行顺序编码为0,1,2,3……
步骤2:对步骤1完成添加顺序编码及其标志位变量的结构化SQL语句进行预解析;
步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;
步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,此时设置标志位变化量为1,进行步骤6;
步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,此时设置标志位变化量为0,进行步骤6;
步骤6:将应用系统中所有添加标志位变量的结构化查询语句建立全局结构化查询语句信息表,完成数据库管理。
所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
设置预解析标志位变量为0,在每次数据库SQL执行操作前,对标志位变量进行检查,如为0,则进行预解析并置位为1;如果为1,则表示已经预解析,则直接跳过解析执行操作。
所述步骤1中的编码方式可按照实际需要自行定义。
如图2所示,本发明具体实施例2所述的一种基于全局设置的预解析管理方法,具体包括以下步骤:
步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析;顺序编码考虑使用数组的实现方式,使用自然数进行顺序编码为0,1,2,3……
步骤2:对步骤1完成添加顺序编码及其标志位变量的结构化SQL语句进行预解析;
步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;
步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,此时设置标志位变化量为1,进行步骤6;
步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,此时设置标志位变化量为0,进行步骤6;
步骤6:将数据库中添加标志位变量的结构化查询语句构造结构化查询语句树,完成数据库管理。
所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
设置预解析标志位变量为0,在每次数据库SQL执行操作前,对标志位变量进行检查,如为0,则进行预解析并置位为1;如果为1,则表示已经预解析,则直接跳过解析执行操作。
所述步骤1中的编码方式可按照实际需要自行定义。
如图3所示,本发明具体实施例3所述的一种基于全局设置的预解析管理方法,具体包括以下步骤:
步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析;顺序编码考虑使用数组的实现方式,使用自然数进行顺序编码为0,1,2,3……
步骤2:对步骤1完成添加顺序编码及其标志位变量的结构化SQL语句进行预解析;
步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;
步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,此时设置标志位变化量为1,进行步骤6;
步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,此时设置标志位变化量为0,进行步骤6;
步骤6:将数据库中添加标志位变量的结构化查询语句构造结构化查询语句链表,完成数据库管理。
所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
设置预解析标志位变量为0,在每次数据库SQL执行操作前,对标志位变量进行检查,如为0,则进行预解析并置位为1;如果为1,则表示已经预解析,则直接跳过解析执行操作。
所述步骤1中的编码方式可按照实际需要自行定义。
如图4所示,本发明具体实施例4所述的一种基于全局设置的预解析管理系统,包括编码模块1、预解析模块2和结构化模块3;
所述编码模块1用于将数据库中的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析,并将完成添加顺序编码及其标志位变量的结构化SQL语句发送至预解析模块2;
所述预解析模块2对从编码模块1传输至的结构化SQL语句进行预解析;并判断是否预解析成功,对预解析成功的结构化SQL语句的标志位变量设置为已完成预解析标志位变量,对未预解析成功的结构化SQL语句的标志位变量设置为未预解析标志位变量,并将完成标志位变量设置的结构化SQL语句发送至结构化模块3;
所述结构化模块3用于将数据库中标志位变量设置的结构化SQL语句建立全局结构化SQL语句信息表,完成数据库管理。
所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
所述编码模块1中的编码方式可按照实际需要自行定义。
所述结构化模块3中建立全局结构化SQL语句信息表可采用以下方式实现:定义为结构化SQL语句数组;或者构造结构化SQL语句树;或者构造结构化SQL语句链表。
对本发明具体实施例在实际中的应用,以OCS系统AC程序为例:
步骤1,对操作SQL语句进行ID定义:
等等
步骤2,定义操作SQL语句结构体:
步骤3,定义SQL语句集合操作数组结构:
步骤4,预解析操作执行判断:
步骤5,应用业务操作调度执行:
步骤6,如发生数据库异常,应用程序执行重连操作后,对SQL语句集合数组中所有pFlag置位为0,则在步骤4时会自动重新预解析。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于全局设置的预解析管理方法,其特征在于,具体包括以下步骤:
步骤1:将应用系统中数据库操作的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析;
步骤2:对步骤1完成添加顺序编码及其标志位变量的结构化SQL语句进行预解析;
步骤3:判断是否预解析成功;如果是,进行步骤4;否则进行步骤5;
步骤4:将结构化SQL语句的标志位变量标识置位为已完成预解析,进行步骤6;
步骤5:将该结构化SQL语句的标志位变量置位为未进行预解析,进行步骤6;
步骤6:将应用系统中所有添加标志位变量的结构化SQL语句建立全局结构化SQL语句信息表,完成数据库管理。
2.根据权利要求1所述的一种基于全局设置的预解析管理方法,其特征在于,所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
3.根据权利要求2所述的一种基于全局设置的预解析管理方法,其特征在于,所述步骤1中的编码方式可按照实际需要自行定义。
4.根据权利要求1-3任一项所述的一种基于全局设置的预解析管理方法,其特征在于,所述步骤3中建立全局结构化SQL语句信息表采用以下方式实现:定义为结构化SQL语句数组;或者构造结构化SQL语句树;或者构造结构化SQL语句链表。
5.一种基于全局设置的预解析管理系统,其特征在于,包括数据库、编码模块、预解析模块和结构化模块;
所述编码模块用于将数据库中的结构化SQL语句进行依次添加顺序编码及其标志位变量,使用该标志位变化量记录操作语句预解析状态,初始化为未预解析,并将完成添加顺序编码及其标志位变量的结构化SQL语句发送至预解析模块;
所述预解析模块对从编码模块传输至的结构化SQL语句进行预解析;并判断是否预解析成功,对预解析成功的结构化SQL语句的标志位变量设置为已完成预解析标志位变量,对未预解析成功的结构化SQL语句的标志位变量设置为未预解析标志位变量,并将完成标志位变量设置的结构化SQL语句发送至结构化模块;
所述结构化模块用于将数据库中标志位变量设置的结构化SQL语句建立全局结构化SQL语句信息表,完成数据库管理。
6.根据权利要求5所述的一种基于全局设置的预解析管理系统,其特征在于,所述标志位变量包括1和0两种状态,分别代表结构化SQL语句完成预解析和未预解析。
7.根据权利要求6所述的一种基于全局设置的预解析管理系统,其特征在于,所述编码模块中的编码方式可按照实际需要自行定义。
8.根据权利要求5-7任一项所述的一种基于全局设置的预解析管理系统,其特征在于,所述结构化模块中建立全局结构化SQL语句信息表采用以下方式实现:定义为结构化SQL语句数组;或者构造结构化SQL语句树;或者构造结构化SQL语句链表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310412439.0A CN103488715B (zh) | 2013-09-11 | 2013-09-11 | 一种基于全局设置的预解析管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310412439.0A CN103488715B (zh) | 2013-09-11 | 2013-09-11 | 一种基于全局设置的预解析管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488715A CN103488715A (zh) | 2014-01-01 |
CN103488715B true CN103488715B (zh) | 2017-01-18 |
Family
ID=49828941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310412439.0A Active CN103488715B (zh) | 2013-09-11 | 2013-09-11 | 一种基于全局设置的预解析管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488715B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657145B (zh) * | 2017-01-23 | 2019-07-05 | 北京安华金和科技有限公司 | 一种基于通信协议和sql语法的数据库自动发现方法 |
CN114519582B (zh) * | 2022-02-21 | 2024-08-09 | 中国邮政储蓄银行股份有限公司 | 服务的预热方法、预热装置和服务系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567006A (zh) * | 2009-05-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种数据库系统及分布式sql语句执行计划重用方法 |
CN102945256A (zh) * | 2012-10-18 | 2013-02-27 | 福建省海峡信息技术有限公司 | 海量sql语句合并归类的方法及装置 |
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
-
2013
- 2013-09-11 CN CN201310412439.0A patent/CN103488715B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567006A (zh) * | 2009-05-25 | 2009-10-28 | 中兴通讯股份有限公司 | 一种数据库系统及分布式sql语句执行计划重用方法 |
CN102945256A (zh) * | 2012-10-18 | 2013-02-27 | 福建省海峡信息技术有限公司 | 海量sql语句合并归类的方法及装置 |
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103488715A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298496B (zh) | 数据分析型软件开发框架系统 | |
CN101841515B (zh) | 可变目标的协议数据单元编解码代码自动生成的实现方法 | |
CN109508355A (zh) | 一种数据抽取方法、系统及终端设备 | |
CN104391934A (zh) | 数据校验方法和装置 | |
CN104572895A (zh) | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 | |
CN110019267A (zh) | 一种元数据更新方法、装置、系统、电子设备及存储介质 | |
CN109308224A (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及系统 | |
CN106341444A (zh) | 数据访问方法和装置 | |
CN106021344B (zh) | 一种多适应性cime电网模型共享方法 | |
CN102708213A (zh) | 一种在pdm 系统与erp 系统之间实现bom 信息传输的方法 | |
CN106919612A (zh) | 一种上线结构化查询语言脚本的处理方法及装置 | |
CN103559025A (zh) | 一种采用聚类方式进行软件重构的方法 | |
CN110795084B (zh) | 生成接口描述文件的方法、装置、设备及可读存储介质 | |
CN106919697A (zh) | 一种将数据同时导入多个Hadoop组件的方法 | |
CN116860221A (zh) | 一种低代码数据模型智能推荐方法及系统 | |
CN103780624A (zh) | 一种面向复杂系统的通用应用层网络通信协议应用方法 | |
CN103488715B (zh) | 一种基于全局设置的预解析管理方法及系统 | |
CN103399895A (zh) | 一种基于svg的监控显示处理系统及方法 | |
CN103761265A (zh) | 一种基于NoSQL的医疗信息系统数据库实现方法 | |
CN115098567A (zh) | 一种基于bi平台的低代码平台数据传输方法 | |
Sanchez et al. | Bigraphical modelling of architectural patterns | |
CN103488697A (zh) | 能自动收集和交换碎片化商业信息的系统及移动终端 | |
CN105302915A (zh) | 基于内存计算的高性能数据处理系统 | |
CN109800776A (zh) | 素材标注方法、装置、终端和计算机可读存储介质 | |
CN112019403B (zh) | 一种物联网消息协议状态机的跨平台自动化挖掘方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |