CN102707934A - 一种以脚本形式表示增值业务流程的实现方法和系统 - Google Patents
一种以脚本形式表示增值业务流程的实现方法和系统 Download PDFInfo
- Publication number
- CN102707934A CN102707934A CN2011100755597A CN201110075559A CN102707934A CN 102707934 A CN102707934 A CN 102707934A CN 2011100755597 A CN2011100755597 A CN 2011100755597A CN 201110075559 A CN201110075559 A CN 201110075559A CN 102707934 A CN102707934 A CN 102707934A
- Authority
- CN
- China
- Prior art keywords
- service
- sib
- file
- script
- logic
- 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
- 238000013515 script Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000011161 development Methods 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000011800 void material Substances 0.000 description 5
- 230000011664 signaling Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种以脚本形式表示增值业务流程的实现方法和系统,均可根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件;对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。本发明正是在经过大量论证的基础上,实现类C脚本化增值业务流程的表示方法。业务开发人员可以像编写程序一样,用类C脚本形式描述业务逻辑,大大提高了业务开发效率以及处理复杂、大型业务的能力,从而实现敏捷业务开发。
Description
技术领域
本发明涉及通信领域,具体涉及一种以脚本形式表示增值业务流程的实现方法和系统。
背景技术
SCE(Service Creation Environment,业务生成环境)是电信网与业务设计者之间的接口,也是具体体现智能网快速、高效引入增值业务特色的功能实体。利用SCE,业务提供者能够快速地生成新的电信业务,新的业务经过严格的验证和模拟后,通过SMS(Service Management System,业务管理系统)加载到SCP(Service Control Point,业务控制点)解释执行,最终由网络经营者将其加载到电信网上,从而快速实现不同用户的需求。
目前的增值业务开发使用图形化的SCE开发模式,传统的图形化开发一般都要经过一下几个步骤:
拖动SIB(Service Independence Block,独立于业务的组件)图标到界面;点击图标后出现属性设置对话框;按照结构属性填写SIB对话框。
初期阶段,由于业务功能比较弱,SCE的使用很方便直观,但是随着业务的不断发展,功能复杂的需求越来越多,SCE也在不断的发展壮大,业务中增加了大量的算法、SIB类型等,然而图形化SCE的布局和使用方式没有突破性的改进,其自身的局限性已不能快速高效地实现大型、复杂业务的开发。
发明内容
有鉴于此,本发明的主要目的在于提供一种以脚本形式表示增值业务流程的实现方法和系统,以提高业务开发效率以及处理复杂、大型业务的能力。
为达到上述目的,本发明的技术方案是这样实现的:
一种以脚本形式表示增值业务流程的实现方法,该方法包括:
根据语法规则及业务特性,将独立于业务的组件SIB按照业务逻辑进行封装,生成脚本文件;对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。
所述根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件,包括:
按照语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按业务逻辑进行封装,生成脚本文件。
所述编译解析包括词法分析、语法分析、语义分析操作。
所述生成可加载执行的业务逻辑文件,包括:
读取业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到业务数据内存中,最终生成业务逻辑文件。
所述增值业务流程为类C脚本化增值业务。
一种以脚本形式表示增值业务流程的系统,该系统包括初始化单元、编译引擎;其中,
所述初始化单元,用于根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件;
所述编译引擎,用于对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。
所述初始化单元根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件时,具体用于:
按照语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按业务逻辑进行封装,生成脚本文件。
所述编译引擎进行所述编译解析时,具体用于进行词法分析、语法分析、语义分析操作。
所述编译引擎在生成可加载执行的业务逻辑文件时,具体用于:
读取业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到业务数据内存中,最终生成业务逻辑文件。
所述增值业务流程为类C脚本化增值业务。
本发明正是在经过大量论证的基础上,实现类C脚本化增值业务流程的表示方法,业务开发人员可以像编写程序一样,用类C脚本形式描述业务逻辑,大大提高了业务开发效率以及处理复杂、大型业务的能力,从而实现敏捷业务开发。
附图说明
图1为本发明实施例的业务变量定义示意图;
图2为本发明实施例的图形化告警SIB示意图;
图3为本发明实施例的图形化拆分字符串SIB示意图;
图4为本发明实施例的脚本化业务流程原理示意图;
图5为本发明实施例的以脚本形式表示增值业务流程的系统图;
图6为本发明实施例的以脚本形式表示增值业务流程的流程简图。
具体实施方式
目前的图形化SCE不支持业务的并行开发,业务的创建和维护通常都是由单个开发人员独立负责,业务开发维护效率很低。由于目前的业务规模较大,逻辑复杂,业务中使用的SIB功能块会达到上万的数量级,业务单人开发模式严重影响开发速度,同时也导致业务逻辑可靠性得不到保证。
另外,目前图形化SCE通过提供系统基本SIB向开发人员开放所有的协议和信令细节,在提升业务开发灵活度的同时,也对业务开发人员专业化程度提出了更高的要求,每个业务开发人员必须了解协议信令所有的细节,无形中增加了开发的难度。
有鉴于此,可以定义一种类C脚本语言,首先按照一定的语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按一定的业务逻辑进行封装,生成脚本文件,最终由类C脚本编译器对其编译解析,生成可加载执行的业务逻辑文件。为描述方便,本文中的类C脚本编译器可以简称为编译引擎。
具体实现方法主要包括以下几部分:
1、业务流程脚本化描述
主要包括业务变量定义、SIB定义及SIB数据描述、业务逻辑封装等,这些操作可以由初始化单元执行。
1)变量定义
采用类C形式对业务中需要使用的各种变量进行定义,此类变量均为全局变量,格式如图1所示。
具体而言,变量可以使用的数据类型包括:字符串类型、整形(位域、单字节、双字节、四字节)、平台系统内部定义的复杂数据类型(由具体的业务平台决定)等,如图1中CAPCallingPartyNumber、CAPCalledPartyNumber等信令相关数据类型。
2)SIB定义及SIB数据描述
a)脚本支持用函数表示简单SIB,此类函数的参数需要根据SIB的业务数据结构预先定义好,如图形化告警SIB(如图2所示)脚本化描述如下:
ALARM(0,10,10,tempstring);
上述参数分别对应图形化的操作类型、告警/通知码、告警ID、附加说明。
b)脚本支持用多条语句描述复杂SIB,用SIB_START_LABEL、SIB_END_LABEL作为起始标志,中间包含的语句即为SIB数据描述,如图形化拆分字符串SIB(如图3所示)脚本化描述如下:
SIB_START_LABEL(SUBSTRSIB);
SUBSTR(startTime,′|′,result,0);
SUBSTRPARA(startTime);
SUBSTRPARA(callCost);
SUBSTRPARA(feeClass);
SUBSTRPARA(cardType);
SIB_END_LABEL(SUBSTRSIB);
c)一个功能块包含一个或者多个SIB,用函数进行封装,实现具体的子功能。如:一个简单的图形化业务流程(如图4所示)中拨号功能块脚本化描述如下:
3)业务逻辑封装
主业务的入口函数统一定义成void main()。各种业务支链的处理在main( )函数内部通过脚本的分支语句实现。业务由大量独立的SIB、功能块组成,业务逻辑关系通过函数间的组织、封装、调用实现。如图5所示。
2、编译引擎编译解释脚本文件:
编译引擎是本发明的核心部分,包含sce.y、sce.l文件,用于对脚本定义的词法、语法进行解释;还负责对脚本文件进行编辑解释,最终生成平台可识别、可加载执行的业务逻辑文件。
编译引擎主要包括如图5所示的脚本分析单元、业务逻辑文件生成引擎。图5中,脚本分析单元与业务逻辑文件生成引擎相连,并且脚本分析单元包括词法分析模块、语法分析模块、语义分析模块;另外,脚本分析单元还可以进一步与初始化单元相连,以接收来自初始化单元的脚本化描述信息,并对该信息进行后续相应处理。具体而言:
1)词法分析模块
对脚本中的TOKEN(符号)进行分析。如脚本中的void、main、SIB_START_LABEL、SIB_START_LABEL等。
在Sce.l文件中定义:
″main″{return((int)PARS_MAIN_TOKEN);}
″void″{return((int)PARS_VOID_TOKEN);}
″SIB_START_LABEL″{return(INAP_START_LABEL_TOKEN);}
″SIB_END_LABEL″{return(INAP_END_LABEL_TOKEN);}
编译引擎解析脚本时,遇到上述符号时就到Sce.l文件中匹配,并将正确匹配到的TOKEN保存到TOKEN表。
2)语法分析模块
对脚本中的语法进行分析。如void main(){...}函数。
在Sce.y文件中定义:
PARS_VOID_TOKEN PARS_MAIN_TOKEN′(″)″{′state′}′
{$$=pars_main_route_func_node($6);}
编译引擎解析脚本时,遇到void main(),先进行词法解析,解析成功后进行语法解析,在Sce.y文件中匹配成功后,执行解析函数pars_main_route_func_node()以对state进行解析。
3)语义分析模块
执行语义解析的函数过程实际是一个递归调用过程,直至解析完最后一个SIB描述语句;在此过程中,编辑引擎将业务相关信息(包括文件名、版本号、作者等)、业务SIB信息(解析过程中生成SIB描述信息链表)等写入到编译引擎的业务数据结构表。
4)业务逻辑文件生成引擎
脚本解析完毕,编译引擎调用业务逻辑生成模块,读取编译引擎的业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到特定的业务数据内存中,最终生成业务逻辑文件。
结合以上技术描述可知,本发明以脚本形式表示增值业务流程的操作思路可以表示如图6所示的流程,该流程包括以下步骤:
步骤610:根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件。该操作可以由前述的业务初始化单元执行。
步骤620:对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。该操作可以由前述的编译引擎执行。
即:所述初始化单元,用于根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件;所述编译引擎,用于对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。
所述初始化单元根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件时,具体用于:按照语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按业务逻辑进行封装,生成脚本文件。
所述编译引擎进行所述编译解析时,具体用于进行词法分析、语法分析、语义分析操作。
所述编译引擎在生成可加载执行的业务逻辑文件时,具体用于:读取业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到业务数据内存中,最终生成业务逻辑文件。
所述增值业务流程为类C脚本化增值业务。
综上所述可见,无论是方法还是系统,本发明正是在经过大量论证的基础上,实现类C脚本化增值业务流程的表示方法。业务开发人员可以像编写程序一样,用类C脚本形式描述业务逻辑,大大提高了业务开发效率以及处理复杂、大型业务的能力,从而实现敏捷业务开发。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种以脚本形式表示增值业务流程的实现方法,其特征在于,该方法包括:
根据语法规则及业务特性,将独立于业务的组件SIB按照业务逻辑进行封装,生成脚本文件;对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。
2.根据权利要求1所述的方法,其特征在于,所述根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件,包括:
按照语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按业务逻辑进行封装,生成脚本文件。
3.根据权利要求1所述的方法,其特征在于,所述编译解析包括词法分析、语法分析、语义分析操作。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述生成可加载执行的业务逻辑文件,包括:
读取业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到业务数据内存中,最终生成业务逻辑文件。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述增值业务流程为类C脚本化增值业务。
6.一种以脚本形式表示增值业务流程的系统,其特征在于,该系统包括初始化单元、编译引擎;其中,
所述初始化单元,用于根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件;
所述编译引擎,用于对生成的所述脚本文件进行编译解析,生成可加载执行的业务逻辑文件。
7.根据权利要求6所述的系统,其特征在于,所述初始化单元根据语法规则及业务特性,将SIB按照业务逻辑进行封装,生成脚本文件时,具体用于:
按照语法规则描述业务信息、SIB数据,再根据业务特性将所有SIB按业务逻辑进行封装,生成脚本文件。
8.根据权利要求6所述的系统,其特征在于,所述编译引擎进行所述编译解析时,具体用于进行词法分析、语法分析、语义分析操作。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述编译引擎在生成可加载执行的业务逻辑文件时,具体用于:
读取业务数据结构表,根据平台定义规则,将表中的数据按照业务逻辑格式写入到业务数据内存中,最终生成业务逻辑文件。
10.根据权利要求6至8任一项所述的系统,其特征在于,所述增值业务流程为类C脚本化增值业务。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110075559.7A CN102707934B (zh) | 2011-03-28 | 2011-03-28 | 一种以脚本形式表示增值业务流程的实现方法和系统 |
PCT/CN2011/077348 WO2012129864A1 (zh) | 2011-03-28 | 2011-07-20 | 一种以脚本形式表示增值业务流程的实现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110075559.7A CN102707934B (zh) | 2011-03-28 | 2011-03-28 | 一种以脚本形式表示增值业务流程的实现方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102707934A true CN102707934A (zh) | 2012-10-03 |
CN102707934B CN102707934B (zh) | 2016-06-29 |
Family
ID=46900762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110075559.7A Active CN102707934B (zh) | 2011-03-28 | 2011-03-28 | 一种以脚本形式表示增值业务流程的实现方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102707934B (zh) |
WO (1) | WO2012129864A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902270A (zh) * | 2012-12-27 | 2014-07-02 | 纽海信息技术(上海)有限公司 | 动态业务建立、管理和处理方法及动态业务系统 |
CN107656846A (zh) * | 2017-09-19 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种设备的硬件信息的获取方法及装置 |
CN108279866A (zh) * | 2018-01-24 | 2018-07-13 | 马上消费金融股份有限公司 | 一种业务流程的编排执行方法、装置及介质 |
CN108958832A (zh) * | 2018-06-12 | 2018-12-07 | 北京蜂盒科技有限公司 | 定制业务流程的方法、装置和存储介质以及电子设备 |
CN114153463A (zh) * | 2022-02-09 | 2022-03-08 | 厚普智慧物联科技有限公司 | 基于脚本编译器的管理系统业务功能创建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026632A1 (en) * | 2000-07-28 | 2002-02-28 | Airsys Atm Sa | Universal computer code generator |
CN101106604A (zh) * | 2007-05-09 | 2008-01-16 | 北京邮电大学 | 翻译器以及基于翻译器的处理多业务的系统和方法 |
CN101216761A (zh) * | 2007-12-28 | 2008-07-09 | 北京邮电大学 | 用于ngn业务开发的电信应用软件框架 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547263B (zh) * | 2009-05-13 | 2011-06-29 | 烽火通信科技股份有限公司 | 基于xml脚本的电信业务增值服务器及实现方法 |
-
2011
- 2011-03-28 CN CN201110075559.7A patent/CN102707934B/zh active Active
- 2011-07-20 WO PCT/CN2011/077348 patent/WO2012129864A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026632A1 (en) * | 2000-07-28 | 2002-02-28 | Airsys Atm Sa | Universal computer code generator |
CN101106604A (zh) * | 2007-05-09 | 2008-01-16 | 北京邮电大学 | 翻译器以及基于翻译器的处理多业务的系统和方法 |
CN101216761A (zh) * | 2007-12-28 | 2008-07-09 | 北京邮电大学 | 用于ngn业务开发的电信应用软件框架 |
Non-Patent Citations (1)
Title |
---|
穆维新 等: "《现代通信交换技术》", 31 January 2005, 人民邮电出版社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902270A (zh) * | 2012-12-27 | 2014-07-02 | 纽海信息技术(上海)有限公司 | 动态业务建立、管理和处理方法及动态业务系统 |
CN107656846A (zh) * | 2017-09-19 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种设备的硬件信息的获取方法及装置 |
CN108279866A (zh) * | 2018-01-24 | 2018-07-13 | 马上消费金融股份有限公司 | 一种业务流程的编排执行方法、装置及介质 |
CN108279866B (zh) * | 2018-01-24 | 2021-10-22 | 马上消费金融股份有限公司 | 一种业务流程的编排执行方法、装置及介质 |
CN108958832A (zh) * | 2018-06-12 | 2018-12-07 | 北京蜂盒科技有限公司 | 定制业务流程的方法、装置和存储介质以及电子设备 |
CN114153463A (zh) * | 2022-02-09 | 2022-03-08 | 厚普智慧物联科技有限公司 | 基于脚本编译器的管理系统业务功能创建方法及系统 |
CN114153463B (zh) * | 2022-02-09 | 2022-04-12 | 厚普智慧物联科技有限公司 | 基于脚本编译器的管理系统业务功能创建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012129864A1 (zh) | 2012-10-04 |
CN102707934B (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196719B (zh) | 一种基于自然语言处理的业务规则生成方法与系统 | |
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
CN110471666A (zh) | 代码自动转换方法和装置、代码转换器及介质 | |
US20050283758A1 (en) | Bi-directional programming system/method for program development | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN102707934B (zh) | 一种以脚本形式表示增值业务流程的实现方法和系统 | |
CN108920133A (zh) | 跨语言编程方法、装置、电子设备及存储介质 | |
CN110633076B (zh) | 一种自动生成Solidity智能合约Java客户端程序的方法 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN113031932B (zh) | 项目开发方法、装置、电子设备及存储介质 | |
CN111176629A (zh) | 一种应用开发的方法和装置 | |
CN101185116A (zh) | 在软件程序中使用强数据类型表示语音识别语法 | |
CN115639980A (zh) | 一种低代码平台可拖拽的前端逻辑编排方法及装置 | |
CN108509193A (zh) | 一种使用可视化组件封装功能模块的系统 | |
CN114281318A (zh) | 一种低代码应用软件开发装置 | |
CN104133676A (zh) | 一种基于脚本的功能执行方法和设备 | |
CN111190585B (zh) | 基于字节码增强技术实现java模式匹配特性的方法 | |
CN112083926A (zh) | 一种Web用户界面生成方法及装置 | |
CN105302558A (zh) | 一种用于多客户端的内容展现系统及方法 | |
CN110362317B (zh) | 一种代码转换方法、装置和存储介质 | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 | |
JP4836412B2 (ja) | グラフィカル・ユーザ・インタフェースを生成する方法および装置 | |
CN104992379A (zh) | 一种电力行业大数据动态文本交换格式管理方法 | |
WO2011160359A1 (zh) | 脚本驱动软件构建方法和装置 | |
CN115344248A (zh) | 一种rpa开发字段编辑多样化方法 |
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 |