CN102707934A - 一种以脚本形式表示增值业务流程的实现方法和*** - Google Patents

一种以脚本形式表示增值业务流程的实现方法和*** Download PDF

Info

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 logic
sib
service
file
value
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
CN2011100755597A
Other languages
English (en)
Other versions
CN102707934B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201110075559.7A priority Critical patent/CN102707934B/zh
Priority to PCT/CN2011/077348 priority patent/WO2012129864A1/zh
Publication of CN102707934A publication Critical patent/CN102707934A/zh
Application granted granted Critical
Publication of CN102707934B publication Critical patent/CN102707934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency 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脚本化增值业务。
CN201110075559.7A 2011-03-28 2011-03-28 一种以脚本形式表示增值业务流程的实现方法和*** Active CN102707934B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547263B (zh) * 2009-05-13 2011-06-29 烽火通信科技股份有限公司 基于xml脚本的电信业务增值服务器及实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
穆维新 等: "《现代通信交换技术》", 31 January 2005, 人民邮电出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
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
CN102707934B (zh) 2016-06-29
WO2012129864A1 (zh) 2012-10-04

Similar Documents

Publication Publication Date Title
CN108885545B (zh) 用于实时数据流编程语言的工具和方法
CN110471666A (zh) 代码自动转换方法和装置、代码转换器及介质
US7739696B2 (en) Message translation systems and methods
EP3367234B1 (en) Systems and methods for arbitrary software logic modeling
CN108920133A (zh) 跨语言编程方法、装置、电子设备及存储介质
CN110688122B (zh) 编译和执行智能合约的方法及装置
CN106293664A (zh) 代码生成方法及装置
CN103677952B (zh) 编解码器生成装置及方法
CN103713896A (zh) 用于访问服务器的软件开发工具包生成方法及装置
CN109710260B (zh) 一种基于多平台的小程序代码转换方法
CN104932905A (zh) 一种aadl到c语言的代码自动生成方法
EP0961968A1 (en) Method and system for generating software code
CN104133588B (zh) 一种基于脚本的继电保护装置图形开发方法
CN104407863A (zh) 抽象控件模型编程装置和方法
CN102707934A (zh) 一种以脚本形式表示增值业务流程的实现方法和***
CN107704382A (zh) 面向Python的函数调用路径生成方法和***
CN101185116A (zh) 在软件程序中使用强数据类型表示语音识别语法
CN110633076B (zh) 一种自动生成Solidity智能合约Java客户端程序的方法
CN115639980A (zh) 一种低代码平台可拖拽的前端逻辑编排方法及装置
CN108509193A (zh) 一种使用可视化组件封装功能模块的***
CN111880777A (zh) 程序信息下发方法、装置、电子设备
CN113312046A (zh) 子应用页面处理方法、装置和计算机设备
CN101980546B (zh) 智能网平台、业务执行方法和分析业务异常的方法
CN105893591A (zh) 一种数据共享服务智能编排技术
CN106681781B (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