专利名称:一种提升业务脚本执行效率的装置及方法
技术领域:
本发明涉及业务系统的开发技术领域,特别涉及一种提升业务脚本执行效率的装
置及方法。
背景技术:
随着社会不断的进步,科技的飞速发展,电信行业由传统的语音业务向数据业务发展,窄带向宽带业务发展,固定向移动业务发展,同时业务也越来越趋于客户化、定制化、 个性化。电信业务的飞速发展对业务系统的要求越来越高,电信业务系统需要承载的业务越来越多,越来越复杂。而业务数量和复杂度的增加,直接导致了业务脚本数量庞大,逻辑复杂,难于管理,业务脚本执行效率随之降低。一般业务系统对业务脚本的执行方法为业务系统响应服务请求,发起业务处理流程,查找相应业务脚本并解释脚本,然后根据脚本内容查找需要执行的标记动作,执行相应动作,向平台侧发起动作指令,实现服务请求功能,一次服务请求结束,若再次收到相同或不同的请求,执行相同的上述处理流程。同时,业务系统中可能有多种不同的业务运行, 也可能有多个用户在同时使用同一种业务,此时需要多次从脚本存放位置进行读取,并分析业务脚本,而曾经被激活的业务逻辑没有被重复的利用。并发是业务对系统环境的一个重要要求,也是影响系统性能的一个重要因素。但是现有技术不能高效的实现业务脚本的并发处理。因此,为了实现提高业务脚本的执行效率的提升,必须从业务系统运行过程中的脚本处理方法和存取技术方面进行考虑。
发明内容
本发明的目的在于,提供一种提升业务脚本执行效率的装置,能够提高业务处理器对业务脚本的执行代码生成,从而提升整个业务脚本的执行效率。本发明的另一目的在于,提供一种提升业务脚本执行效率的方法,能够提高业务处理器对业务脚本的执行代码生成,从而提升整个业务脚本的执行效率。本发明的提升业务脚本执行效率的装置,包括业务脚本分析器以及业务脚本处理器,其中,所述业务脚本分析器,用于对提取的各种类型业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;所述业务脚本处理器,用于根据业务请求标识,查询业务脚本,生成业务执行代码,并在生成业务执行代码的过程中将脚本中的共用业务对象组件进行代码实例化。其中,所述业务脚本处理器,进一步用于在将脚本中的共用业务对象组件进行代码实例化后,存储在对象组件业务执行代码实例对应表中。其中,所述业务脚本处理器,进一步用于当再次根据业务请求查询相应业务脚本时,在所述对象组件业务执行代码实例对应表中查找。其中,进一步包括业务脚本提取接口和业务脚本转化器,其中,所述业务脚本提取接口,用于在业务系统加载服务时提取各种类型业务脚本,包括业务脚本类型;所述业务脚本转化器,用于根据业务脚本类型采用不同的转化模型,将业务脚本提取接口提取的各种类型业务脚本转换成标准的可扩展业务脚本,生成新的业务脚本标识,并将标准的可扩展业务脚本送给业务脚本分析器。其中,所述业务脚本分析器,进一步用于对所述业务脚本转换器转换的标准的可扩展业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件。其中,所述业务脚本分析器,进一步用于将所述共用业务对象组件对应的组件标识插入业务脚本替换原脚本语句,并将共用业务对象组件及其对应的组件标识缓存。另外,可以进一步包括业务脚本缓存器,用于缓存待解析的业务脚本以及共用业务对象组件,并根据脚本调用的频率决定是否将脚本缓存在内存中。本发明的提升业务脚本执行效率的方法,包括下列步骤A 业务脚本分析器对提取的各种类型业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;B 业务脚本处理器根据业务请求标识,查询业务脚本,生成业务执行代码,并在生成业务执行代码的过程中将脚本中的共用业务对象组件进行代码实例化。其中,在所述步骤B中,进一步包括下列步骤所述业务脚本处理器在将脚本中的共用业务对象组件进行代码实例化后,存储在对象组件业务执行代码实例对应表中。其中,可以进一步包括下列步骤当再次根据业务请求查询相应业务脚本时,在所述对象组件业务执行代码实例对应表中查找。本发明的有益效果是依照本发明的提升业务脚本执行效率的装置及方法,在业务系统加载服务时就通过业务脚本获取接口提取业务脚本,提高了脚本的读取时间;使用业务脚本转化器对各种类型脚本进行标准化转化,然后利用业务脚本分析器对脚本中的共用部分进行组件化,降低了脚本解释的处理难度和提高了脚本的处理时间;当存在多个用户调用相同的业务时,共用相同的业务脚本,提高了业务脚本分析器对标准的业务脚本的分析效率,提高了业务脚本处理器对业务脚本的执行代码生成,从而提升了整个业务脚本的执行效率。
图1为本发明实施例的提升业务脚本执行效率的装置的结构示意图;图2为本发明实施例的提升业务脚本执行效率的方法的流程图。
具体实施例方式以下,参考附图1 2详细描述本发明的提升业务脚本执行效率的装置及方法。需要说明的是,本发明以电信业务系统为例,说明本发明的提升业务脚本执行效率的装置及方法,但是本发明并不局限于此,还可以适用于金融、广播电视等领域的适合通过业务脚本执行相应业务处理的系统。如图1所示,为本发明实施例的提升业务脚本执行效率的装置的结构示意图。页本发明的提升业务脚本执行效率的装置,包括业务脚本提取接口、业务脚本转化器、业务脚本分析器以及业务脚本处理器。其中,业务脚本提取接口,用于在业务系统加载服务时提取各种类型业务脚本,包括业务脚本类型、业务脚本标识和业务脚本描述语句,其中,业务脚本标识,是用于区别不同的业务脚本的唯一序号。业务脚本转化器,用于将业务脚本提取接口提取的各种类型业务脚本根据脚本类型采用不同的转化模型,转换成标准的可扩展业务脚本(例如XML脚本),生成新的业务脚本标识,并将标准的可扩展业务脚本送给业务脚本分析器。其中,业务脚本转化器,进一步用于将新的业务脚本标识与转化前的业务脚本标识相对应,并保存该对应关系。另外,业务脚本转化器,将业务脚本提取接口提取的各种类型业务脚本根据脚本类型采用不同的转化模型,转换成标准的可扩展业务脚本的原因是如果不将各种类型的业务脚本转化成统一格式、语义及语法的标准脚本,则无法对脚本本身要实现的功能进行自动化的分析和执行,且不便于对脚本进行统一管理和无法抽取相同功能的业务脚本。由于XML具有可读性、可移植性、可扩展性等优点,结合业务脚本特点树形结构、有状态标记和转移规则等特点,根据具体的业务功能需求来描述,由标记来完成标识处理程序。另外, XML可以自己定义标记,标记用以描述数据的类型或特性,可以理解为一种字段名,同时 XML具有数据与格式分离设计的特性,可以将各种格式的数据转化成XML,因此本发明采用 XML作为业务脚本的最佳载体,根据原业务脚本的数据格式定义XML的标记后,就生成了一个以XML为载体的标准业务脚本。业务脚本分析器,用于对业务脚本转换器转换的标准的可扩展业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件,并生成唯一的组件标识,并将组件标识插入业务脚本替换原脚本语句,并将共用业务对象组件及其对应的组件标识缓存。例如,对于标准的可扩展业务脚本为标准的XML脚本时,业务脚本分析器对XML业务脚本进行分析,使用XML解析程序获取XML文档所有标记,同时获取标记的所有属性,根据业务脚本面向特定需求定义的业务规则,将连续的表示一个业务动作的一组标记提取出来抽象出相同属性的脚本部分,形成共用对象组件,并生成唯一的组件标识。具体地,业务脚本分析器使用XML解析程序获取XML文档的以下信息出现在文档中所有标记,标记用以描述数据的类型或特性,可以理解为一种字段名;标记的所有属性, 可以理解为字段的类型;标记下的子标记;子标记的数目;标记是否为空或者是否包含文本;标记和属性的数据类型;标记个属性的默认值及固定值。以上信息用于业务脚本分析器进行XML业务脚本的语法结构分析。本发明的提升业务脚本执行效率的装置,进一步包括业务脚本缓存器。该业务脚本缓存器,用于缓存待解析的业务脚本以及共用业务对象组件。另外,业务脚本缓存器,进一步根据脚本调用的频率决定是否将脚本缓存在内存中。另外,业务脚本处理器,用于根据业务请求标识,在查询相应的业务脚本未被加载过时,在业务脚本缓存器脚本存储列表中根据业务脚本标识查询业务脚本,生成业务执行代码;生成代码时会将脚本中的共用业务对象组件进行代码实例化放在业务脚本缓存器对象组件业务执行代码实例对应表中。其中,业务脚本处理器,进一步用于在业务脚本缓存器脚本存储列表中根据业务脚本标识查询业务脚本,生成业务执行代码业务脚本后,将执行次数初始化为1并记录第一次执行时间,同时将生成的业务执行代码保存。业务脚本处理器,进一步用于根据业务请求标识,在查询相应的业务脚本已被加载过时,业务脚本执行次数加一并记录执行时间,返回业务执行代码执行。另外,业务脚本缓存器,具体可以包括缓存器查询接口、缓存器写入接口和存储单兀。其中,缓存器查询接口,调用查询接口的输入参数为查询类型、标识,根据类型查询存储单元对应的存储区域,根据标识进行搜索,将查询结果反馈给调用的模块。缓存器写入接口,调用写入接口的输入参数为写入类型、标识、写入数据,写入类型与查询类型一致。存储单元,按类型划分存储区域分片管理,建立标识和关联内容索引表。另外,可以根据脚本执行时的执行次数和起止时间进行统计,比如说单位时间内执行了多少次,或者说单位时间内执行次数比上个单位时间内增加的情况,具体视实际业务场景而定。根据统计模式确定脚本的执行频率,确定是否保存在缓存器中。如图2所示,为本发明实施例的提升业务脚本执行效率的方法的流程图。本发明的提升业务脚本执行效率的方法,包括下列步骤步骤100 业务脚本提取接口在业务系统加载服务时提取各种类型业务脚本;其中,在步骤100中,业务脚本提取接口在提取各种类型业务脚本时,包括业务脚本标识、业务脚本类型和业务脚本描述语句,其中,业务脚本标识,是用于区别不同的业务脚本的唯一序号。步骤200 业务脚本转化器将业务脚本提取接口提取的各种类型业务脚本转换成标准的可扩展业务脚本,生成新的业务脚本标识,并将标准的可扩展业务脚本送给业务脚本分析器;其中,标准的可扩展业务脚本为标准的XML脚本;另外,在步骤200中,业务脚本转化器根据脚本类型采用不同的转化模型,将业务脚本提取接口提取的各种类型业务脚本转换成标准的可扩展业务脚本。步骤300 业务脚本分析器对所述业务脚本转换器转换的标准的可扩展业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;其中,在步骤300中,业务脚本分析器对标准的XML脚本进行分析时,使用XML解析程序获取XML文档所有标记,同时获取标记的所有属性,根据业务脚本面向特定需求定义的业务规则,将连续的表示一个业务动作的一组标记提取出来抽象出相同属性的脚本部分,形成共用对象组件,并生成唯一的组件标记标识。步骤400 业务脚本处理器根据业务请求标识,在查询相应的业务脚本未被加载过时,在业务脚本缓存器脚本存储列表中根据业务脚本标识查询业务脚本,生成业务执行代码,并将脚本中的共用业务对象组件进行代码实例化。其中,在步骤400中,进一步包括下列步骤业务脚本处理器在将脚本中的共用业务对象组件进行代码实例化后,存储在业务脚本缓存器对象组件业务执行代码实例对应表中。进一步地,在步骤400中,业务脚本处理器根据业务请求标识,在查询相应的业务脚本已被加载过时,业务脚本执行次数加一并记录执行时间,并返回业务执行代码执行。综上所述,依照本发明的提升业务脚本执行效率的装置及方法,在业务系统加载服务时就通过业务脚本获取接口提取业务脚本,使用业务脚本转化器对各种类型脚本进行标准化转化,然后利用业务脚本分析器对脚本中的共用部分进行组件化,一方面采用预加载模式提高了脚本的读取时间,另一方面通过统一脚本格式,进行脚本分析提取共用组件, 降低了脚本解释的处理难度和提高了脚本的处理时间;此外,本发明还提供了业务脚本缓存器,通过对共用组件缓存,XML格式化业务脚本缓存,业务执行代码缓存,在整个业务的执行过程中,所有的业务脚本调用都在已经分析后的缓存器中读取,当存在多个用户调用相同的业务时,共用相同的业务脚本,提高了业务脚本分析器对标准XML脚本的分析效率,提高了业务脚本处理器对业务脚本的执行代码生成,从而提升了整个业务脚本的执行效率。以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细描述, 但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改, 这些变化和修改均在本发明的保护范围内。
权利要求
1.一种提升业务脚本执行效率的装置,其特征在于,包括业务脚本分析器以及业务脚本处理器,其中,所述业务脚本分析器,用于对提取的各种类型业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;所述业务脚本处理器,用于根据业务请求标识,查询业务脚本,生成业务执行代码,并在生成业务执行代码的过程中将脚本中的共用业务对象组件进行代码实例化。
2.如权利要求1所述的提升业务脚本执行效率的装置,其特征在于,所述业务脚本处理器,进一步用于在将脚本中的共用业务对象组件进行代码实例化后,存储在对象组件业务执行代码实例对应表中。
3.如权利要求2所述的提升业务脚本执行效率的装置,其特征在于,所述业务脚本处理器,进一步用于当再次根据业务请求查询相应业务脚本时,在所述对象组件业务执行代码实例对应表中查找。
4.如权利要求1所述的提升业务脚本执行效率的装置,其特征在于,进一步包括业务脚本提取接口和业务脚本转化器,其中,所述业务脚本提取接口,用于在业务系统加载服务时提取各种类型业务脚本,包括业务脚本类型;所述业务脚本转化器,用于根据业务脚本类型采用不同的转化模型,将业务脚本提取接口提取的各种类型业务脚本转换成标准的可扩展业务脚本,生成新的业务脚本标识,并将标准的可扩展业务脚本送给业务脚本分析器。
5.如权利要求4所述的提升业务脚本执行效率的装置,其特征在于,所述业务脚本分析器,进一步用于对所述业务脚本转换器转换的标准的可扩展业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件。
6.如权利要求1所述的提升业务脚本执行效率的装置,其特征在于,所述业务脚本分析器,进一步用于将所述共用业务对象组件对应的组件标识插入业务脚本替换原脚本语句,并将共用业务对象组件及其对应的组件标识缓存。
7.如权利要求1至6中任一项所述的提升业务脚本执行效率的装置,其特征在于,进一步包括业务脚本缓存器,用于缓存待解析的业务脚本以及共用业务对象组件,并根据脚本调用的频率决定是否将脚本缓存在内存中。
8.—种如权利要求1所述装置提升业务脚本执行效率的方法,其特征在于,包括下列步骤A 业务脚本分析器对提取的各种类型业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;B 业务脚本处理器根据业务请求标识,查询业务脚本,生成业务执行代码,并在生成业务执行代码的过程中将脚本中的共用业务对象组件进行代码实例化。
9.如权利要求8所述的提升业务脚本执行效率的方法,其特征在于,在所述步骤B中, 进一步包括下列步骤所述业务脚本处理器在将脚本中的共用业务对象组件进行代码实例化后,存储在对象组件业务执行代码实例对应表中。
10.如权利要求8所述的提升业务脚本执行效率的方法,其特征在于,进一步包括下列步骤当再次根据业务请求查询相应业务脚本时,在所述对象组件业务执行代码实例对应表中查找。
全文摘要
本发明提供一种提升业务脚本执行效率的装置及方法,其中,该装置包括业务脚本分析器以及业务脚本处理器,其中,业务脚本分析器,用于对提取的各种类型业务脚本进行分析,将连续的表示一个业务动作的一组标记提取出来形成共用业务对象组件;业务脚本处理器,用于根据业务请求标识,查询业务脚本,生成业务执行代码,并在生成业务执行代码的过程中将脚本中的共用业务对象组件进行代码实例化。本发明能够提高业务处理器对业务脚本的执行代码生成,从而提升整个业务脚本的执行效率。
文档编号G06F9/48GK102385527SQ201010268929
公开日2012年3月21日 申请日期2010年9月1日 优先权日2010年9月1日
发明者李峥 申请人:中兴通讯股份有限公司