一种业务处理方法和业务系统的制作方法

文档序号:6624571阅读:178来源:国知局
一种业务处理方法和业务系统的制作方法
【专利摘要】本发明提供了一种业务处理方法和业务系统,用于提高业务处理的性能和效率。所述方法,应用于业务系统,所述业务系统包括配置数据内存单元,所述配置数据内存单元用于存放所述业务系统所需的数据,包括:确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件;调用所述脚本文件;基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
【专利说明】一种业务处理方法和业务系统

【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种业务处理方法和业务系统。

【背景技术】
[0002]策略配置是通过脚本文件、参数或配置文件等方式来控制业务处理逻辑,从而执行相应的业务。策略配置的方式在一定程度上会影响业务处理的效率。
[0003]在现有技术中,通常将业务处理所需要使用的配置数据写入脚本文件中,同时脚本文件中还包括执行业务的业务执行逻辑。在运行脚本文件执行业务的过程中,当业务执行逻辑需要配置数据时,需要脚本文件临时转换配置数据的数据结构,再将转换好的配置数据传给业务执行逻辑。
[0004]可见,在上述策略配置方法中,配置数据是保存到脚本文件中的,当业务处理需要使用配置数据时,就需要将脚本文件中的数据转换成符合该业务处理的数据结构的数据,所以不得不频繁转换配置数据,那么对业务处理性能和效率都会有影响。所以,现有技术中的业务处理的性能和效率不佳。


【发明内容】

[0005]本发明提供了一种业务处理方法和业务系统,用于提高业务处理的性能和效率。
[0006]本发明第一方面提供了一中业务处理方法,应用于业务系统,所述业务系统包括配置数据内存单元,所述配置数据内存单元用于存放所述业务系统所需的数据,包括:
[0007]确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件;
[0008]调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址;
[0009]基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;
[0010]执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0011]结合第一方面,在第一方面的第一种可能的实现方式中,在所述确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,所述方法还包括:
[0012]将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息;
[0013]将转化后的配置数据存储到所述配置数据内存单元中;
[0014]根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中;
[0015]将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件;
[0016]所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
[0017]结合第一方面或第一方面的第一种可能的实现方式中,在第一方面的第二种可能的实现方式中,所述确定用于处理待处理数据包的至少一个业务,具体包括:
[0018]对所述数据包进行第一规则匹配,获得第一匹配结果;
[0019]基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;
[0020]确定所述至少一个业务对应的所述脚本文件。
[0021]结合第一方面或第一方面的第一种可能的实现方式至第一方面的第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,所述方法还包括:
[0022]对所述数据包进行第二规则匹配,获得第二匹配结果;
[0023]基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0024]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务,具体包括:
[0025]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0026]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0027]本发明第二方面提供了一种业务系统,包括配置数据内存单元,所述配置数据内存单元用于存放所述业务系统所需的数据,所述系统还包括:
[0028]确定单元,用于确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件;
[0029]调用单元,用于调用所述至少一个业务对应的脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址;
[0030]业务执行单元,用于基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;以及执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0031]结合第二方面,在第二方面的第一种可能的实现方式中,所述系统还包括:
[0032]脚本转换单元,用于在所述确定单元确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息;将转化后的配置数据存储到所述配置数据内存单元中;根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中;将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件;所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
[0033]结合第二方面或第二方面的第一种可能的实现方式,第二方面的第二种可能的实现方式中,所述确定单元,具体用于:
[0034]对所述数据包进行第一规则匹配,获得第一匹配结果;基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;确定所述至少一个业务对应的所述脚本文件。
[0035]结合第二方面或第二方面的第一种可能的实现方式至第二方面的第二种可能的实现方式中的任意一种,在第二方面的第三种可能的实现方式中,所述业务执行单元具体用于:
[0036]在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,对所述数据包进行第二规则匹配,获得第二匹配结果;基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0037]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述业务执行单元具体还用于:
[0038]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0039]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0040]本发明第三方面提供了一种业务系统,包括:
[0041]处理器,用于确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件;调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址;基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0042]结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器还用于:
[0043]在所述确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息;
[0044]将转化后的配置数据存储到所述配置数据内存单元中;
[0045]根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中;
[0046]将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件;
[0047]所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
[0048]结合第一方面或第一方面的第一种可能的实现方式中,在第一方面的第二种可能的实现方式中,所述处理器还用于:
[0049]对所述数据包进行第一规则匹配,获得第一匹配结果;
[0050]基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;
[0051]确定所述至少一个业务对应的所述脚本文件。
[0052]结合第三方面或第三方面的第一种可能的实现方式至第三方面的第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,所述处理器还用于:
[0053]在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,
[0054]对所述数据包进行第二规则匹配,获得第二匹配结果;
[0055]基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0056]结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器具体用于:
[0057]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0058]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0059]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0060]在本发明实施例中,对数据包进行至少一个业务,当需要获得至少一个业务所需的配置数据时,业务系统能够在对应至少一个业务的脚本文件中获得数据访问索引信息,进而基于数据访问索引信息直接从配置数据内存中获取至少一个业务所需的配置数据。所以,不再需要从脚本频繁转换来获取配置数据,从而提高了业务系统处理业务的性能和效率。

【专利附图】

【附图说明】
[0061]图1为本发明实施例中的业务系统配置处理阶段示意图;
[0062]图2为本发明实施例中的业务系统业务处理阶段示意图;
[0063]图3为本发明实施例中的执行业务方法流程图;
[0064]图4为本发明实施例中的脚本转换方法流程图;
[0065]图5为本发明实施例一业务的具体实施步骤图;
[0066]图6为本发明实施例中的业务系统结构示意图;
[0067]图7为本发明实施例中的业务系统的硬件实现的实例概念图。

【具体实施方式】
[0068]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另夕卜,本文中字符“ / ”,一般表示前后关联对象是一种“或”的关系。在本发明实施例中,对数据包进行至少一个业务,当需要获得至少一个业务所需的配置数据时,业务系统能够在对应至少一个业务的脚本文件中获得数据访问索引信息,进而基于数据访问索引信息直接从配置数据内存中获取至少一个业务所需的配置数据。所以,不再需要从脚本频繁转换来获取配置数据,从而提高了业务系统处理业务的性能和效率。
[0070]本发明的基本思想是使脚本和业务系统运行环境统一,控制业务的脚本逻辑和业务执行需要的配置数据分离、脚本和业务处理之间交互无数据转换,业务处理通过脚本传入的数据引用直接访问所需数据。具体而言,包含如下两个阶段:
[0071](I)配置处理阶段:
[0072]本发明配置处理阶段的主要原则是配置数据即为脚本数据,所有数据全部保存在脚本中,脚本经过脚本转换后,脚本中的数据部分会转化为到配置数据内存单元中,脚本中同时保存配置数据的引用,即数据访问索引信息,脚本中的业务执行逻辑部分不变。
[0073]参照图1,配置处理阶段的主要步骤:编写配置文件_>编写脚本文件_>脚本转换(系统启动后)_>配置数据管理模块_>业务执行逻辑_>业务处理线程启动。
[0074]编写配置文件:配制文件中首先包含配置的数据部分,配置数据是脚本格式表和数据结构保存的。可以在单独的文件中,也可以写在脚本文件里。配置数据中,包含系统所需的各种静态配置和控制业务流程条件配置数据,如业务处理规则,网络报文3层、4层、7层条件等。
[0075]编写脚本文件:脚本文件可以使用脚本语言编写,如:tcl、lua、pythen等,这些脚本可以和配置文件在同一文件,也可以在不同文件,脚本中可以直接使用配置数据,对其进行处理,如添加字段,修改其中的字段值,从中提取部分数据转换为其它格式等操作。脚本中包含各种事件处理逻辑,每个事件有对应的处理脚本,脚本中又会和业务处理系统进行交互,可以直接调用业务系统的函数或者触发其它事件。
[0076]脚本转换:脚本转换为本发明的重要一环,脚本转换会首先把配置的数据进行预处理,脚本中的一般配置文件获取,转换到脚本结构体中,脚本逻辑中的部分脚本转换,从方便书写的脚本到可以运行的脚本转换,如脚本中的宏变量替换、数据结构中增加配置数据的ID、索引或指针等。脚本转换部分会和系统中的配置数据内存单元交互。配置数据部分会传入到配置数据内存单元交互,配置数据内存单元交互会将数据转换为合适的数据结构,并返回数据的指针或索引,脚本逻辑中的数据结构会保存对应数据的内存的指针或索弓丨,供脚本运行时使用。脚本转换完成后,配置脚本中不再保存配置的数据不部分,只保存逻辑脚本部分需要的数据指针或索引。
[0077]配置数据内存单元交互:配置数据内存单元交互一般是由其它语言编写,接受脚本文件传入的配置数据,转化为业务时需要使用的各种数据结构,保存到配置数据内存单元交互中。其配置数据内存单元交互可以使用ID或索引、指针的方式对应起来。配置数据内存单元交互为业务系统的一部分,主要管理系统中的各种配置数据,存储在合理的数据结构中,以方便系统业务处理时使用。
[0078]当配置处理完成后,系统就执行业务执行逻辑,进入业务处理状态。
[0079](2)业务处理阶段:
[0080]参照图2,业务处理步骤主要包括:业务系统触发事件或脚本调用_>触发相应脚本_>逻辑脚本执行_>业务系统接口调用_>各业务执行。
[0081]逻辑脚本执行:脚本中的逻辑部分包含自身脚本语言的编写的脚本逻辑,同时也包含需要调用的系统函数;逻辑脚本主要是控制业务执行的逻辑,也称为业务执行逻辑,而具体的业务处理都是业务系统实现。业务系统函数中需要各业务执行需要的配置数据,不同的业务,其配置数据不同。逻辑脚本根据逻辑,传入对应的业务配置数据到业务系统接口,此时传入的配置数据为配置数据在在配置数据内存单元交互中的数据访问索引信息,此配置数据内存单元交互和业务系统为同一系统,期间无数据转换。此脚本逻辑的运行环境是和系统是合一的,系统中本身包含了脚本运行环境,使得用一般脚本语言编写的脚本和由其它高级语言编写的业务系统的交互更加简单。
[0082]业务系统接口调用:脚本中直接调用系统的函数,并传入对应的配置数据,无数据结构转换,轻易控制业务的逻辑,驱动业务的执行。
[0083]需要说明的是,本发明实施例中的业务系统,是指部署有一个或多个业务的设备,比如网络设备,其中该网络设备一般包含多个业务处理模块,用于对接收到的数据包进行处理,以实现相对应的业务功能,该网络设备还包括配置数据内存,用于存放业务执行所需的数据,以及脚本执行器,用于脚本文件的转化。
[0084]下面对本发明的实施方式进行更详细说明。
[0085]实施例一:
[0086]首先,请参考图3,本发明实施例中的业务处理方法包括以下内容:
[0087]SlOl:确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件。。
[0088]S102:调用所述脚本文件。
[0089]S103:基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据。
[0090]S104:执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0091]可选的,本发明实施例中的技术方案包括两个阶段,其中SlOl至S104为业务处理阶段,而在业务处理阶段之前,还可以包括配置处理阶段。具体地,如图4所示,步骤SlOl之前,配置处理阶段包括脚本文件的转换,具体包括:
[0092]S201:将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构。
[0093]S202:将转化后的配置数据存储到所述配置数据内存单元中。
[0094]S203:根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中。
[0095]S204:将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件。
[0096]具体来讲,本发明实施例的原始脚本文件中未转化的数据和业务执行逻辑分离。业务系统中嵌入脚本执行器,使得脚本文件和业务系统运行环境统一,从而脚本文件和业务之间无需数据转换。脚本执行器用于脚本文件的转化,与配置数据内存单元连接,配置数据内存单元进一步与业务执行单元连接,业务执行单元从配置数据内存单元中获取转化后的配置数据。
[0097]本发明实施例中的脚本文件在进行转换之前,也即在配置处理阶段之前,包括业务需要的未转化的配置数据和业务执行逻辑。未转化的配置数据包括系统需要的静态配置,如默认浏览器、网络协议(英文=Internet Protocol ;简称:IP)端口或统一资源定位符(英文:Uniform Resource Locator ;简称:URL)等,还包括控制业务流程的条件,如业务规贝1J、网络层或传输层条件等。未转化的配置数据通过脚本格式表和数据结构保存,包含在配置文件中。配置文件由技术人员编写,可以在单独的文件中,也可以在脚本文件中,本发明对此不做具体限制。
[0098]一般情况下,在业务系统启动后,业务系统会自动启动脚本文件的脚本转换,即进入配置处理阶段。在本发明实施例中,脚本转换包括两个方面的转换:一方面,为了使业务系统在对数据包进行业务时,避免现从脚本文件中转换来获得配置数据,本发明实施例中,在进行业务之前将脚本文件中的未转化的配置数据转化后存储到配置数据内存中。
[0099]具体来讲,原始脚本文件是通过脚本语言编写的,如tel、lua、pythen等脚本语言,而业务系统通常是用程序语言编写的,如C语言、Java语言、C#语言等,所以在原始脚本文件中的未转化的配置数据的数据结构,业务系统可能不能识别或进行读写。因此,一方面为了业务系统中的配置数据内存单元能读写配置数据,另一方面为了在进行业务时,原始脚本文件中的未转化的配置数据能够符合不同业务需要的数据类型,例如第一业务的业务系统由C语音编写,因此只能识别C语言中的数据结构,而第二业务的业务系统由Java语音编写,只能识别Java对象,所以首先需要转化未转化的配置数据。
[0100]其中,未转化的配置数据的数据结构是配置数据在原始脚本文件中的数据结构,转化后的数据结构为配置数据内存单元可读写,且与至少一个业务可识别对应的数据结构,如整型类型、浮点型类型或C结构体,以及Java对象等。
[0101]将未转化的配置数据转化完成后,将转化后的配置数据存储到配置数据内存单元中,从而转化后的配置数据可被业务系统读和写,以便执行不同业务时可以使用。
[0102]当转化后存储在配置数据内存单元中之后,为了在执行业务的时候方便业务系统获得所需的配置数据,本发明实施例中的配置数据内存单元会根据转化后的配置数据在配置数据内存单元中的存储地址生成数据访问索引信息,并将数据访问索引信息发送到原始脚本文件,供脚本文件保存。
[0103]具体来讲,数据访问索引信息表征配置数据在配置数据内存单元中的存储地址,也就是表征配置数据在配置数据内存单元中的具体位置,通过数据访问索引信息可以直接或间接获取配置数据。在具体实现过程中,数据访问索引信息包括但不限于指向配置数据地址的指针、索引或ID等,本发明所属技术人员可以根据实际需要来进行设置,本发明不作具体的限制。
[0104]接下来,由于原始脚本文件中的未转化的配置数据已经进行了转化,并且存储至配置数据内存单元中了,同时还保存了转化后的配置数据对应的数据访问索引信息,在需要获得配置数据时,只要基于数据访问信息就可以获取到所需要的配置数据,避免了从原始脚本文件转换来获得数据,因此,在本发明实施例中,原始脚本文件中保存了数据访问所以信息后,可以不再保存未转化的配置数据。
[0105]其中,转化后存储到的配置数据内存单元中的配置数据,具体为业务处理阶段的至少一个业务所需的配置数据,因此本发明实施例的描述中,转化后的配置数据和至少一个业务所需的配置数据,以及所述配置数据指代相同。
[0106]脚本转换的另一方面,在进行脚本转化时,除了对配置数据进行处理,还需要对脚本文件中的业务执行逻辑进行转化,即执行S204,控制所述业务执行逻辑转化为计算机可执行程序。
[0107]具体来讲,原始脚本文件中的业务执行逻辑由技术人员采用脚本语言编写。在编写时,技术人员编写的脚本形式可能是方便书写的形式,但方便书写的形式并不一定是计算机可直接执行的程序或运行的形式,所以,在本发明实施例中,脚本转换的时候需要将原始脚本文件的业务执行逻辑转换为计算机可执行程序。例如将脚本文件中的宏变量进行替换、代码转换等。
[0108]在上述两个方面的转化完成后,原始脚本文件就转化成了 S102中可调用的脚本文件,即获得了脚本文件。
[0109]当然,在具体实现过程中,脚本转换时对于上述两个方面的转换,可以先转换配置数据,再转换业务执行逻辑,即按S201、S202、S203和S204的顺序执行,也可以先转换业务执行逻辑,再转换配置数据,即按S204、S201、S202和S203、和的顺序执行,还可以同时进行转换,即S201、S202、S203和S204同时进行,本发明所属技术人员可以根据实际需要来进行设置,本发明不作具体的限制。
[0110]由以上描述可以看出,在本发明实施例中,在进行业务之前,将原始脚本文件中的配置数据存储到配置数据内存单元中,并在原始脚本文件中保存配置数据的数据访问索引信息,可以使得业务系统在进行业务时,直接根据数据访问信息从配置数据内存单元中获取配置数据,而不再需要从原始脚本文件中转换获得数据,从而提高了业务处理的效率。
[0111]下面介绍SlOl的具体实现过程。
[0112]具体来讲,SlOl的具体实现过程可以为:
[0113](I)对所述数据包进行第一规则匹配,获得第一匹配结果。
[0114](2)基于所述第一匹配结果,确定所述数据包要进行的至少一个业务。
[0115](3)确定所述至少一个业务对应的所述脚本文件。
[0116]首先,业务系统获得一数据包,可以为业务系统主动向上层请求获得一数据包,也可以为业务系统接受到上层主动传下来的一数据包,对此本发明不做限制。
[0117]接着,为了确定对接收到的数据包要进行的至少一个业务,可以对数据包进行第一规则匹配,获得第一匹配结果。第一规则为业务系统中的常规规则,如正则匹配或多模匹配等。通过第一规则匹配,可以初步确定对数据包要执行的至少一个业务。
[0118]接下来,基于第一匹配结果,业务系统就可以确定对数据包要进行的至少一个业务。举例来说,业务系统接受上层传下来的一数据包,对数据包进行正则匹配后,第一匹配结果表明数据包要访问一超文本传输协议(英文:Hypertext transfer protocol ;简称:http)网页,那么可以确定对数据包要进行的至少一个业务就是访问一 http网页。
[0119]最后,在业务系统的多个脚本文件中,根据对数据包要进行的至少一个业务,确定至少一个业务对应的脚本文件。也就是说,通过第一规则匹配后,在业务系统中第一匹配结果会触发一个对应的事件,而这个事件会触发一个对应的脚本文件运行。沿用数据包访问http网页的例子来说明,当确定对数据包进行的至少一个业务是访问http网页后,业务系统会触发一访问http网页的事件,这个事件会触发访问http网页的脚本文件开始运行。
[0120]进一步,在触发脚本文件后,业务系统就会执行脚本文件中的业务执行逻辑,从而实现执行至少一个业务。
[0121]具体来讲,获得数据包之后触发的脚本文件可以是经过S201到S204转换后的脚本文件,即脚本文件在获得数据包之前将未转化的配置数据存储到配置数据内存单元中并保存数据访问索引信息。也可以是触发未经转换的默认脚本文件,但是默认脚本文件中已保存有数据访问索引信息。也就是说,本发明实施例中,根据至少一个业务触发的脚本文件,可以本身就包括配置数据的数据访问索引信息,也可以是经过转换后才获得数据访问索引信息的脚本文件,对此本发明不做具体限制。
[0122]在触发至少一个业务对应的脚本文件后,执行S102。在具体实现过程中,也可以不进行上述步骤(1)-(3)直接执行S102,对此本发明不做限制。
[0123]可选的,在执行S103之前,本发明实施例还包括:
[0124]对所述数据包进行第二规则匹配,获得第二匹配结果;
[0125]基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0126]具体来讲,脚本文件的业务执行逻辑中包括多个函数,本领域中也称为接口。其中,系统函数能够调用一个或多个业务函数,而业务函数执行具体的业务,当然业务函数也可以调用一个或多个业务函数。因此,在本发明实施例中,业务系统首先将数据包传入业务执行逻辑中的系统函数,在系统函数中进行第二规则匹配,如数据包IP地址的标识、目的IP地址、IP地址的长度、应用层数据匹配等,获得第二匹配结果。
[0127]在获得第二匹配结果后,根据第二匹配结果业务系统就可以确定执行至少一个业务需要调用的至少一个业务函数以及所需要的配置数据。
[0128]沿用上文中数据包访问一 http网页的例子来说明。在运行访问http网页的脚本文件后,对数据包进行第二规则匹配。假设获得的第二规则匹配表明数据包具体要访问163网页,那么业务系统就可以确定对数据包要进行的至少一个业务具体为访问163网页,并且调用访问163网页的业务函数以便数据包访问。
[0129]或者假设获得的第二规则匹配表明数据包具体要访问一组达芬奇画作,以及访问一达芬奇生平简介的视频,那么业务系统就可以确定对数据包要进行的至少一个业务具体为访问一组图像和一视频的业务。业务系统基于第二匹配规则会调用访问达芬奇画作业务函数和访问达芬奇生平简介的视频业务函数。
[0130]接下来,执行S103:基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据。
[0131]确定至少一个业务函数和所需要的配置数据后,在本发明实施例中,至少一个业务是由至少一个业务函数来实现的,因此,在具体实现过程中,S103的具体可以为:
[0132]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0133]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0134]具体来讲,在至少一个业务函数执行至少一个业务时,需要使用与至少一个业务相关的配置数据,为了避免在需要配置数据时从脚本文件中频繁转换来获得,在本发明实施例中,业务系统将根据第二匹配结果将相应的数据访问索引信息传入至少一个业务函数。
[0135]当然,在将数据访问索引信息传入至少一个业务函数的之前、同时或之后,业务系统还需要将获得的数据包传入至少一个业务函数中。但是,业务系统在获得数据包时,可能会对数据包进行一些初步处理,如流处理、IP重排等,所以最终传入业务函数的数据包与初始获得的数据会有所不同,但数据包的本质是不变的。
[0136]在执行至少一个业务函数的过程中,当需要使用配置数据时,业务函数可以直接通过数据访问索引信息获得配置数据内存单元中的配置数据。例如当数据访问索引信息具体为配置数据的指针时,业务函数根据指针从配置数据内存单元中获取配置数据;当数据访问索引信息具体为索引信息时,业务函数将索引信息传入配置数据内存单元,配置数据内存单元根据传入的索引信息找到配置数据后将配置数据传给业务函数。
[0137]接下来执行S104:执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0138]进一步,至少一个业务函数会分别执行各自对应的业务逻辑对数据包进行业务。并且在至少一个业务函数执行业务执行逻辑的过程中,又可能会调用其他业务函数,如业务函数I可能会调用业务函数2,或业务函数执行业务执行逻辑的过程中又可能会触发其他事件,进而触发其他脚本运行等,直到数据包从业务系统中转出或丢弃。
[0139]下面通过一具体实施例描述本发明业务处理的完整步骤,请参考图5,业务系统具体执行步骤如下:
[0140]S301:获得数据包,进行数据包处理。
[0141]业务系统在获得数据包时,可能会进行一些初步处理,如流处理、IP重排等,以方便后续模块或单元能够处理。
[0142]S302:进行第一规则匹配,触发相应事件。
[0143]在数据包处理过程中,首先会有简单的第一规则匹配,如正则匹配、多模匹配、判断报文是否为新报文、对数据包IP地址的标识或目的IP地址进行匹配等,命中对应的第一规则后,就会触发相应事件,假设触发“0N_CLIENT_NEW_C0NN”事件。
[0144]S303:获取事件对应脚本文件。
[0145]为了处理事件,业务系统会根据触发的事件获取事件对应的脚本文件,如触发事件为“0N_CLIENT_NEW_C0NN”,那么业务系统就会获取“0N_CLIENT_NEW_C0NN”对应的脚本文件。
[0146]S304:运行脚本文件。
[0147]运行对应的脚本文件,由脚本文件中的业务执行逻辑来控制对数据包的业务的逻辑。
[0148]S305:基于脚本文件中的业务执行逻辑进行第二规则匹配。
[0149]例如对数据包进行TCP层和IP层的某些字段匹配,以及应用层匹配等。
[0150]S306:获得第二匹配结果。
[0151]在第二匹配结果中,包括执行“0N_CLIENT_NEW_C0NN”业务要调用的具体一个或多个业务函数以及执行“0N_CLIENT_NEW_C0NN”业务需要使用的配置数据。
[0152]S307:调用具体的业务函数执行业务。
[0153]基于第二匹配结果调用具体的业务函数,并将执行“0N_CLIENT_NEW_C0NN”业务所需的配置数据的数据访问索引信息传入具体的业务函数。业务函数执行业务,在需要使用配置数据时,根据数据访问索引信息从配置数据内存单元获取配置数据。在执行业务的过程中,若业务函数触发其他事件,则执行S202。否则,执行S208。
[0154]S308:完成业务。
[0155]实施例二:
[0156]请参考图6,本发明实施例提供了一种业务系统,包括配置数据内存单元,配置数据内存单元用于存放所述业务系统所需的数据,包括:
[0157]确定单元101,用于确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件。
[0158]调用单元102,用于调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址。
[0159]业务执行单元103,用于基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;以及执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0160]进一步,本发明实施例中的业务系统还可以包括:
[0161]脚本转换单元104,用于在所述确定单元确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息;将转化后的配置数据存储到所述配置数据内存单元中;根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中;将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件;所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
[0162]具体来讲,在本发明实施例中,确定单元101具体用于:
[0163]对所述数据包进行第一规则匹配,获得第一匹配结果;基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;确定所述至少一个业务对应的所述脚本文件。
[0164]业务执行单元103具体用于:
[0165]在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,对所述数据包进行第二规则匹配,获得第二匹配结果;基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0166]进一步,本发明实施例中的业务执行单元103还具体用于:
[0167]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0168]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0169]发明由于本实施例二与实施例一基于同一发明构思,因此重复之处就不再一一赘述了。
[0170]实施例三:
[0171]本发明实施例提供一种业务系统。图7所示的业务系统涉及到的术语的含义以及具体实现,可以参考前述图1至图6以及实施例的相关描述。
[0172]请参考图7所示,该系统包括:
[0173]处理器202,用于确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件;调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址;基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
[0174]在具体实现过程中,本发明实施例的业务系统可以为发明负载均衡器、多个服务器前端,数据交换机或路由器等,本发明不做具体限制。
[0175]可选的,处理器202还用于:
[0176]在所述确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息;
[0177]将转化后的配置数据存储到所述配置数据内存单元中;
[0178]根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中;
[0179]将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件;
[0180]所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
[0181]可选的,处理器202还用于:
[0182]对所述数据包进行第一规则匹配,获得第一匹配结果;
[0183]基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;
[0184]确定所述至少一个业务对应的所述脚本文件。
[0185]可选的,处理器202具体用于:
[0186]在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,
[0187]对所述数据包进行第二规则匹配,获得第二匹配结果;
[0188]基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
[0189]可选的,处理器202具体还用于:
[0190]将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数;
[0191]在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
[0192]其中,在图7中,总线架构(用总线200来代表),总线200可以包括任意数量的互联的总线和桥,总线200将包括由处理器202代表的一个或多个处理器和存储器204代表的存储器的各种电路链接在一起。总线200还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口 206在总线200和接收器201和发送器203之间提供接口。接收器201和发送器203可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
[0193]处理器202负责管理总线200和通常的处理,而存储器204可以被用于存储处理器202在执行操作时所使用的数据。
[0194]前述实施例中描述的业务执行过程的各种变化方式和具体实例同样适用于本实施例的业务系统,通过前述的详细描述,本领域技术人员可以清楚的知道本实施例中业务系统的实施方法,所以为了说明书的简洁,在此不再详述。
[0195]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0196]在本发明实施例中,对数据包进行至少一个业务,当需要获得至少一个业务所需的配置数据时,业务系统能够在对应至少一个业务的脚本文件中获得数据访问索引信息,进而基于数据访问索引信息直接从配置数据内存中获取至少一个业务所需的配置数据。所以,不再需要从脚本频繁转换来获取配置数据,从而提高了业务系统处理业务的性能和效率。发明
[0197]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0198]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0199]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0200]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0201]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种业务处理方法,应用于业务系统,所述业务系统包括配置数据内存单元,所述配置数据内存单元用于存放所述业务系统所需的数据,其特征在于,所述方法包括: 确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件; 调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址; 基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据; 执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
2.如权利要求1所述的方法,其特征在于,在所述确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,所述方法还包括: 将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息; 将转化后的配置数据存储到所述配置数据内存单元中; 根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中; 将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件; 所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
3.如权利要求1或2所述的方法,其特征在于,所述确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件,具体包括: 对所述数据包进行第一规则匹配,获得第一匹配结果; 基于所述第一匹配结果,确定所述数据包要进行的至少一个业务; 确定所述至少一个业务对应的所述脚本文件。
4.如权利要求1-3任一权项所述的方法,其特征在于,在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,所述方法还包括: 对所述数据包进行第二规则匹配,获得第二匹配结果; 基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
5.如权利要求4所述的方法,其特征在于,所述执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务具体包括: 将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数; 在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
6.一种业务系统,包括配置数据内存单元,所述配置数据内存单元用于存放所述业务系统所需的数据,其特征在于,所述系统还包括: 确定单元,用于确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件; 调用单元,用于调用所述脚本文件;其中,所述脚本文件中包括数据访问索引信息,以及用于执行所述至少一个业务的业务执行逻辑,所述数据访问索引信息包括用于表征所述至少一个业务所需的配置数据在所述配置数据内存单元中的存储地址; 业务执行单元,用于基于所述数据访问索引信息,从所述配置数据内存单元中获得所述配置数据;以及执行所述业务执行逻辑,并在执行过程中调用所述配置数据,以实现所述至少一个业务。
7.如权利要求6所述的系统,其特征在于,所述系统还包括: 脚本转换单元,用于在所述确定单元确定用于处理待处理数据包的至少一个业务,以及所述至少一个业务对应的脚本文件之前,将所述脚本文件对应的原始脚本文件中的未转化的配置数据的数据结构,转化为所述配置数据内存单元可读写、且所述至少一个业务可识别的数据结构;其中,所述原始脚本文件中不包括所述数据访问索引信息; 将转化后的配置数据存储到所述配置数据内存单元中; 根据所述转化后的配置数据在所述配置数据内存单元中的存储地址生成所述数据访问索引信息,并将所述数据访问索引信息存储到所述原始脚本文件中; 将所述业务执行逻辑转化为计算机可执行程序,以获得所述脚本文件; 所述转化后的配置数据具体为所述至少一个业务所需的所述配置数据。
8.如权利要求6或7所述的系统,其特征在于,所述确定单元,具体用于: 对所述数据包进行第一规则匹配,获得第一匹配结果;基于所述第一匹配结果,确定所述数据包要进行的至少一个业务;确定所述至少一个业务处理对应的所述脚本文件。
9.如权利要求6-8任一权项所述的系统,其特征在于,所述业务执行单元具体用于: 在所述基于所述数据访问索引信息,从所述配置数据内存单元中获得执行所述至少一个业务所需要的所述配置数据之前,对所述数据包进行第二规则匹配,获得第二匹配结果;基于所述第二匹配结果,确定执行所述至少一个业务的至少一个业务函数以及需要的所述配置数据。
10.如权利要求9所述的系统,其特征在于,所述业务执行单元还用于: 将所述脚本文件中的所述数据访问索引信息传入所述至少一个业务函数; 在执行所述至少一个业务函数的过程中,根据所述数据访问索引信息从所述配置数据内存单元中获得所述至少一个业务函数所需的所述配置数据。
【文档编号】G06F9/44GK104182234SQ201410421735
【公开日】2014年12月3日 申请日期:2014年8月25日 优先权日:2014年8月25日
【发明者】田川鄂, 刘赫伟, 奥兹·什洛莫 申请人:杭州华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1