一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于智能多缓存链式处理机的类处理方法与装置与流程

2022-02-22 05:36:09 来源:中国专利 TAG:


1.本发明属于软件开发领域,具体涉及一种基于智能多缓存链式处理机的类处理方法与装置。


背景技术:

2.现有常用的系统架构对于同领域大型项目或者产品进行处理时,通常会出现多版本多项目的代码复用能力比较弱的问题,尤其是在涉及同领域产品的规模达到上百万个类,不同版本不同项目代码共存的问题,大多数框架只会提供一些基础能力,对于同领域业务多版本、多项目的类或数据无法自由匹配,无法自由配置,无法达到高复用能力,如何实现同项目同产品多版本的高度复用成为了重中之重的问题。


技术实现要素:

3.本发明的目的在于提供一种基于智能多缓存链式处理机的类处理方法,能够实现同项目同产品多版本的高度复用。
4.为达到上述目的,本发明的技术方案提供一种基于智能多缓存链式处理机的类处理方法,包括以下步骤:
5.接口建立步骤,建立特定接口;
6.业务类集建立步骤,建立多个节点实现类,所述节点实现类实现对应的特定接口,对所述节点实现类进行实现类属性的配置,所述实现类属性包括功能组编号、版本号、接口名、类名、排序号和权重;多个相同功能组编号的节点实现类构成业务类集;
7.多缓存步骤,根据业务类集的使用频率来将对应的业务类集存储到一级缓存或二级缓存中;
8.业务类集匹配步骤,根据接收到的客户端请求的功能组编号以及客户版本号,首先在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类,如果判断结果为是,则直接返回该业务类集,如果判断结果为否,则在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,并返回该业务类集;
9.链式处理步骤,根据返回的业务类集、请求的功能组编号、客户版本号和全局参数,读取该业务类集中节点实现类集合,同时动态加载出对应的节点实现类,顺序执行所有节点实现类,上一个节点实现类的返回值作为下一个节点实现类的入参值;
10.结果输出步骤,最后一个节点实现类的返回值返回给客户。
11.本方案的原理和效果是:首先是建立特定接口,之后构建多个节点实现类,这些节点实现类都可以实现对应的特定接口,同时这些节点实现类的实现类属性包括功能组编号、版本号、接口名、类名、排序号和权重,通过将功能组编号相同的节点实现类进行整合构成对应的业务类集。
12.而形成的这些业务类集会根据使用频率被缓存到一级缓存或者二级缓存中。
13.在进行业务类集的取出时,会根据客户端请求的功能组编号和客户版本号,在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类,要是有的话,就直接返回对应业务类集,如果没有就会去二级缓存中查询,之后返回对应业务类集,这样就完成了对客户需要的业务类集的查询。
14.在查询到对应的业务类集之后,就会根据功能组编号、客户版本号以及全局参数来读取该业务类集中对应的节点实现类的集合,动态加载出适合客户版本号的节点实现类,之后顺序执行所有节点实现类,上一个节点实现类的返回值作为下一个节点实现类的入参值,且最后一个节点实现类的返回值返回给客户。
15.本技术通过建立特定接口用对应的业务类集来实现对应的特定接口,并通过链式处理的方式,根据客户的需求以及客户版本号,匹配到相应的业务类集中的节点实现类,并进行顺序执行,给予客户需求的信息,通过这种根据客户版本号来确定对应的节点实现类,使得同一节点实现类的多版本实现了共存,这样每次在调用时,都能够重复的调用适用客户版本号的节点实现类,也就实现了同项目同产品的多版本的高度复用。
16.当然通过这种链式处理的方式来完成对客户需要的功能进行实现,仅需要确定客户请求的功能就可以自动的匹配到实现对应功能所需要的节点实现类并按照顺序进行执行即可完成整个功能,明显降低了对应的开发成本,且整个过程更加的快速。
17.同时通过将得到的业务类集根据使用频率缓存到一级缓存或者二级缓存上,在具体的使用时,根据客户版本号,先在一级缓存中进行查询,匹配出需要的业务类集,没匹配到后才去二级缓存中查询,也就使得能够快速命中客户所需要的业务类集,有效提升查询性能。同时可以根据客户版本号来自由选择适合客户版本号的节点实现类,这样就可以使得适用性比较高,不会出现客户没有更新版本号造成客户无法进行访问,使得客户的体验效果不好的问题,即能够快速命中客户需求,提高查询性能,避免客户在查询时需要较长时间的等待的问题出现。
18.进一步的,所述特定接口包括以下方法:业务处理描述方法、参数使用说明、返回值说明和业务处理方法。
19.业务处理描述方法是对这个特定接口的说明,参数说明则是对进入特定接口的参数的说明,返回值说明则是对该特定接口的输出进行说明阐述,而具体的实现则是通过业务处理方法,通过对特定接口进行规制的制定使得特定接口在进行使用时能够清晰的知晓其对应信息,在进行使用时可以比较准确的快速的知晓内部对应的功能信息。
20.进一步的,所述一级缓存采用和web容器或主程共用缓存方式,二级缓存采用redis集群单独部署方式。
21.进一步的,所述链式处理步骤包括:
22.客户入参信息接收步骤,接收返回的业务类集、功能组编号、客户版本号和全局参数;
23.业务类集读取步骤,根据返回的业务类集,读取该业务类集中适用该客户版本号的节点实现类集合;
24.实现类排序步骤,根据读取出来的节点实现类集合中的对应节点实现类的排序号,进行排序;
25.节点实现类执行步骤,按照顺序执行所有的节点实现类,并把客户版本号、全局参
数和上一个节点实现类的返回值传递给下一个节点实现类的入参值。
26.通过客户版本号匹配出返回的业务类集中的适用该客户版本号的节点实现类集合,之后根据对应的节点类实现类集合中各个节点实现类的排序号来对各个节点实现类进行排序,再依照顺序对所有节点实现类进行执行,而对应客户版本号、全局参数和上一个节点实现类的返回值传递给下一个节点实现类的入参值,通过客户版本号来匹配适合该客户版本号的节点实现类,这样就可以使得客户无论是什么版本号都能找到对应的节点实现类,也就不会因为客户版本号低无法实现客户想要的功能,即版本号适配性高,也就实现了不同版本之间的共存,复用能力比较高。
27.进一步的,所述多缓存步骤具体包括:
28.获取各个业务类集的权重、使用次数、业务类集长度以及一级缓存可使用的内存量;
29.根据各个业务类集的使用次数、权重以及业务类集长度,对各个业务类集的使用频率进行计算;
30.使用频率从高到低的各个业务类集依次加载入一级缓存,在一级缓存可使用的内存量小于当前加载入一级缓存中的各个业务类集的总内存占有量时,则停止载入。
31.考虑到在对业务类集进行查询时首先是去一级缓存中进行查询,将客户使用频率高的业务类集存储到一级缓存中,这样在客户需要对应的业务类集时,其有较大概率能够在以及缓存中匹配到,这就使得整个查询过程更加的迅速,查询命中率也就更高,也不会出现内存空间不够用的问题。
32.本发明的另一目的是提供一种基于智能多缓存链式处理机的类处理装置,包括:
33.第一建立单元,用于建立特定接口;
34.第二建立单元,用于建立多个节点实现类,所述节点实现类实现对应特定接口,对所述节点实现类进行实现类属性的配置,所述实现类属性包括功能组编号、版本号、接口名、类名、排序号和权重;还用于将多个相同功能组编号的节点实现类构成业务类集;
35.缓存单元,用于根据业务类集的使用频率来将对应的业务类集存储到一级缓存或二级缓存中;
36.匹配单元,用于根据接收到的客户端请求的功能组编号以及客户版本号,首先在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,如果判断结果为是,则直接返回该业务类集,如果判断结果为否,则在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,并返回该业务类集;
37.链式处理单元,用于根据返回的业务类集、请求的功能组编号以及客户版本号和根据接收到的全局参数,读取该业务类集中节点实现类集合,同时动态加载出对应的节点实现类,顺序执行所有节点实现类,上一个节点实现类的返回值作为下一个节点实现类的入参值;
38.输出单元,用于将最后一个节点实现类的返回值返回给客户。
39.本方案的原理和效果是:首先是建立对应的特定接口,之后建立多个节点实现类,来实现对应的特定接口,同时给这些节点实现类进行实现类属性的配置,其中就包括功能组编号、版本号、接口名、类名、排序号和权重,同时将功能组编号相同的节点实现类构成一
个业务类集,这一步就完成了对功能的构建。
40.之后根据各个业务类集的使用频率来将对应业务类集存储到一级缓存或者二级缓存中去,使用频率高的会被放置在一级缓存中,这一步就完成了对业务类集的存储。
41.在需要调用某一业务类集时,会根据客户端的请求的功能组编号和客户版本号先去一级缓存中查询,查询符合对应的功能组编号和客户版本号的业务类集,通过读取其中符合要求的节点实现类,并根据排序号来对各个节点实现类进行执行,其中上一个节点实现类的返回值会作为下一个节点实现类的入参值,而最后一个节点实现类的返回值会返回给客户,也就实现了对该业务类集的实现。
42.本技术通过建立特定接口用对应的业务类集来实现对应的特定接口,并通过链式处理的方式,根据客户的需求以及客户版本号,匹配到相应的业务类集中的节点实现类,并进行顺序执行,给予客户需求的信息,通过这种根据客户版本号来确定对应的节点实现类,使得同一节点实现类的多版本实现了共存,这样每次在调用时,都能够重复的调用适用客户版本号的节点实现类,也就支持了同项目同产品的多版本的高度复用。
43.同时在具体业务类集的匹配时根据客户的请求到的功能组编号和客户版本号来进行匹配,同时具体的节点实现类的特定接口实现时,上一个节点实现类的返回值用作下一个节点实现类的入参值,这种链式的传递更加的安全,且只需要根据客户的功能需要就可以找到对应实现的业务类集,且其中对应的节点实现类都是提前设置好的,这样显著降低了开发的成本。
44.当然在对业务类集的存储中通过使用频率的高低来决定对应的业务类集存储在以及缓存还是二级缓存中去,同时在调用时,首先是去一级缓存中查询是否有符合要求的业务类集,有的话直接返回对应业务类集,没有的话再去二级缓存中查询,通过这种方式可以实现对大规模特定业务领域支撑百万级的类目录进行快速命中,有效的提升了查询性能。
45.进一步的,所述特定接口包括以下方法:业务处理描述方法、参数使用说明、返回值说明和业务处理方法。
46.通过对特定接口的规则定义来使得各个接口都能够统一,在具体使用时对其中的内容能够清楚认识,这样在使用时就可以比较快速的匹配到相要的信息。
47.进一步的,所述链式处理单元包括:
48.信息接收模块,用于接收返回的业务类集、功能组编号和客户版本号,同时还用于接收对应的全局参数;
49.读取模块,用于根据返回的业务类集,读取该业务类集中适用该客户版本号的节点实现类集合;
50.排序模块,用于根据读取出来的实现类集合中的对应节点实现类的排序号,进行排序;
51.执行模块,用于按照顺序执行所有的节点实现类,并把客户版本号、全局参数和上一个节点实现类的返回值传递给下一个节点实现类的入参值。
52.通过链式处理可以根据客户版本号来匹配到客户需要的业务类集,同时对该业务类集进行执行,得到客户需要的信息,支持同项目同产品混合版本的节点实现类复用,即可以存储多个同类产品的多种版本的节点实现类,使用时自由加载适用的节点实现类;能够
动态的加载对应的节点实现类,自动根据排序号链式调用对应的节点实现类,自动传递方法需要的入参和返回值,实现了对客户需要的业务类集的自动匹配和执行,使得调用出客户需要的业务的速度更快。
53.进一步的,所述匹配单元包括:
54.第一接收模块,用于接收到的客户端请求的功能组编号以及客户版本号;
55.第一查询模块,用于根据接收到的客户请求的功能组编号和客户版本号,在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类;
56.第一获取模块,用于在查询结果为是时,从所述一级缓存中直接返回对应的业务类集;
57.第二查询模块,用于在查询结果为否时,在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类;
58.第二获取模块,用于在查询完成后,在二级缓存中返回对应业务类集。
59.在对客户需要的业务类集进行调用时,可以根据客户版本号准确匹配到适合该版本号的客户所要业务类集,实现了对客户需要业务类集的准确和快速匹配,同时对应匹配到的业务类集能够很好的契合客户版本号。
60.进一步的,所述缓存单元包括:
61.第三获取模块,用于获取各个业务类集的权重、使用次数、业务类集长度以及一级缓存可使用的内存量;
62.第一处理模块,用于根据各个业务类集的使用次数、权重以及业务类集长度,对各个业务类集的使用频率进行计算,并将使用频率从高到低的各个业务类集依次加载入一级缓存;
63.第一判断模块,用于在将各个业务类集依次加载入一级缓存时,对一级缓存可使用的内存量与当前加载入一级缓存中的各个业务类集的总内存占有量进行比较判断,在一级缓存可使用的内存量小于当前加载入一级缓存中的各个业务类集的总内存占有量时,则停止载入。
64.将业务类集的缓存空间分为两个部分,一部分在一级缓存中,另一部分在二级缓存中,且缓存在一级缓存中的业务类集的使用频率都比较高,通过两部分的缓存可以很好的对缓存空间进行利用,毕竟现有的缓存空间都比较的有限,存储的内容也有一个极限,同时在调用时先去使用频率比较高的一级缓存中查询这样能够查到的也比较高,毕竟这里面存的都是使用频率高的业务类集。
附图说明
65.图1为本发明实施例一中基于智能多缓存链式处理机的类处理装置的逻辑框图。
66.图2为本发明实施例一中基于智能多缓存链式处理机的类处理方法的流程图。
67.图3为本发明实施例一中某一特定接口的框架图。
68.图4为本发明实施例一中某一业务类集的框架图。
具体实施方式
69.下面通过具体实施方式进一步详细说明:
70.实施例一
71.实施例一基本如附图1所示:一种基于智能多缓存链式处理机的类处理装置,包括:
72.第一建立单元,用于建立特定接口;特定接口包括以下方法:业务处理描述方法、参数使用说明、返回值说明和业务处理方法。规则
73.在本实施例中,业务处理描述方法的入参为版本号,出参为返回业务描述;参数使用说明的入参为版本号、参数合集、全局参数,对应的出参为返回对应的入参说明;返回值说明的入参为版本号,对应的出参为返回值说明;业务处理方法的入参为版本号、功能组编号、全局参数、参数集合、上一个节点返回结果集合(即上一节点的出参)。例如如图3所示,特定接口还包括接口编号、接口名称、包名、接口描述、实现方法,其中实现方法为业务处理描述方法的实现方法对应businesshandledescribe,参数使用说明的实现方法对应paramusedescribe,返回值说明的实现方法对应returndescribe,业务处理方法的实现方法对应mainbusinesshandle。
74.第二建立单元,用于建立多个节点实现类,所述节点实现类实现对应特定接口,对所述节点实现类进行实现类属性的配置,所述实现类属性包括功能组编号、版本号、接口名、类名、排序号和权重;还用于将多个相同功能组编号的节点实现类构成业务类集。
75.在本实施例中,业务类集时具体业务(功能)需要节点实现类的集合,每一个节点实现类的实现类属性包括类编号、类名、包名、实现接口、排序号、适用版本号、应用状态、类功能描述、功能组编号、权重、功能组描述等。
76.例如某一业务类集中的a节点实现类:
77.类编号为003;
78.类名为handleorder001;
79.包名为com.onelevel.twolevel.businesshandle;
80.实现接口为commonbusinesshandlelnterface;
81.排序号为3;
82.适用版本号为v1.1.0和v1.0.0;
83.应用状态为是、类功能描述为处理订单状态;
84.功能组编号为orderhandle001;
85.权重为20;
86.功能组描述为用户点击“下定单”按钮后,后台处理类组。
87.本实施例中所有节点实现类都是实现了可视化配置的,用户在使用时,通过可视化操作进行需求的点选和配置,所有类可以自由增加卸载,支持类版本管理,类版本无缝切换。
88.缓存单元,用于根据业务类集的使用频率来将对应的业务类集存储到一级缓存或二级缓存中;一级缓存采用和web容器或主程共用内存方式,二级缓存采用redis集群单独部署方式。本实施例中利用智能二级缓存算法来实现对业务类集的存储。本实施例中一级缓存内存储的业务类集可根据内存大小智能决定缓存的条数。
89.在本实施例中,在得到对应业务类集的使用频率之后,会对业务类集的使用频率进行排序,使用频率高的业务类集排在前面,使用频率低的业务类集排在后面,根据排序依次将对应业务类集存储到一级缓存中去,直至一级缓存空间存储满为止,之后将剩余的业务类集存储至二级缓存中去。
90.在本实施例中,缓存单元包括:
91.第三获取模块,用于获取各个业务类集的权重、使用次数、业务类集长度以及一级缓存可使用的内存量;在本实施例中会对各个业务类集的执行业务描述方法、参数说明方法、节点实现类使用次数、执行时间都会被写入日志信息中,为跟踪做铺垫。
92.在本实施例中,权重的设置目的是可以人为调整功能组编号业务集是否有机会进入一级缓存,不仅仅是通过客观的日志记录的调用次数求平均值来决定是不是进一级缓存。
93.节点实现类使用次数、执行时间都会被写入日志信息中对应的目的是跟踪执行过程,也是为累计各业务类集(即功能组编号)的中各节点使用次数,为下面业务集进入一级缓存算法的次数的来源值。
94.第一处理模块,用于根据各个业务类集的使用次数、权重以及业务类集长度,对各个业务类集的使用频率进行计算,并将使用频率从高到低的各个业务类集依次加载入一级缓存;
95.第一判断模块,用于在将各个业务类集依次加载入一级缓存时,对一级缓存可使用的内存量与当前加载入一级缓存中的各个业务类集的总内存占有量进行比较判断,在一级缓存可使用的内存量小于当前加载入一级缓存中的各个业务类集的总内存占有量时,则停止载入。
96.例如,根据一级缓存的内存占比,计算出一级缓存的可使用的内存量m;之后根据日志来获取各个业务类集的调用次数集合n;求出各个业务类集几个平均次数b=n[1..n]各次数求和/n;之后根据公式频率公式=次数之和/类集合长度*功能类型权重,得到各个业务类集的优先级s=b*权重;再按照各个业务类集的内存占有量m[1

n],并依次加载入一级缓存中,在这个过程中,对一级缓存可使用的内存量与当前加载入一级缓存中的各个业务类集的总内存占有量进行比较判断,当m之和》m时,返回,停止加载。
[0097]
在本实施例中其中求各个业务类集几个平均次数时会调用日志信息中给业务类集对应的各环节次数,这里是以功能组编号(即同一组的001、002、003、004为一个集合要么同时进一级缓存,要么都不进)。
[0098]
在本实施例中一级缓存占用内存是有部署服务器总内存*用户设定的百分比得来的,其中默认值为10%,用户可以自定义。
[0099]
在本实施例中还包括定时模块,用于根据预设的时间,对第三获取模块进行启动。通过预设时间,来对第三获取模块进行启动,可以动态存储可以加载入一级缓存的业务类集,可以时不时的进行调整,毕竟二级缓存中的业务类集的使用频率也会随之时间变高,通过这种动态的方式,可以使得使用频率高的业务类集总能及时的出现在一级缓存中,在本实施例中时间间隔设置在10到15分钟,可以自由设置,本实施对应的时间间隔为13分钟,即每13分钟就重新对加载入一级缓存的各个业务类集进行判断。
[0100]
匹配单元,用于根据接收到的客户端请求的功能组编号以及客户版本号,首先在
一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,如果判断结果为是,则直接返回该业务类集,如果判断结果为否,则在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,并返回该业务类集。
[0101]
在本实施例中,匹配单元包括:
[0102]
第一接收模块,用于接收到的客户端请求的功能组编号以及客户版本号;
[0103]
第一查询模块,用于根据接收到的客户请求的功能组编号和客户版本号,在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类;
[0104]
第一获取模块,用于在查询结果为是时,从所述一级缓存中直接返回对应的业务类集;
[0105]
第二查询模块,用于在查询结果为否时,在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类;
[0106]
第二获取模块,用于在查询完成后,在二级缓存中返回对应业务类集。
[0107]
例如,当客户对应的请求功能组编号为orderhandle001,则具体的匹配过程为:
[0108]
根据客户版本号(假设版本号v1.1.0),请求功能组编号(orderhandle001),就会在一级缓存中去查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类,如查询到功能组编号为orderhandle001的业务类集中有适合v1.1.0版本的节点实现类,就会直接返回该业务类集。如果没查询到的话就去二级缓存中查询,并返回对应业务类集,如图4所示,匹配到的该业务类集。
[0109]
链式处理单元,用于根据返回的业务类集、请求的功能组编号以及客户版本号和全局参数,读取该业务类集中节点实现类集合,同时动态加载出对应的节点实现类,顺序执行所有节点实现类,上一个节点实现类的返回值作为下一个节点实现类的入参值。
[0110]
在本实施例中,链式处理单元包括:
[0111]
信息接收模块,用于接收返回的业务类集、功能组编号和客户版本号,同时还用于获取对应的全局参数;
[0112]
读取模块,用于根据返回的业务类集,读取该业务类集中适用该客户版本号的节点实现类集合;
[0113]
排序模块,用于根据读取出来的实现类集合中的对应节点实现类的排序号,进行排序;
[0114]
执行模块,用于按照顺序执行所有的节点实现类,并把客户版本号、全局参数和上一个节点实现类的返回值传递给下一个节点实现类的入参值。
[0115]
例如,对匹配到的功能组编号为orderhandle001的业务类集,根据客户版本号读取适用的节点类集合,即类编号为001、003、004这三个节点实现类,之后根据这三个节点实现类的排序号进行排序,记录首类和尾类,分别定义为f和l,本实施例中对应的顺序为001、004、003,其中f=001,l=003。再通过springboot框架依次动态加载001、004、003,如果客户版本号为v1.0.0,系统则会调用001,002,003,实现了同项目或同产品代码高度复用的能力。检查实现接口中的实现方法businesshandledescribe、paramusedescribe、returndescribe,检查各个方法返回值是否为空,如果空停止执行。
[0116]
之后执行mainbusinesshandle,如果为f则该方法得到的参数不做参考,否则该参数就必须按既定格式定义和传递,即001的返回值传入到004的入参中,以此类推,如果为l,则完成链式处理。
[0117]
输出单元,用于将最后一个节点实现类的返回值返回给客户。
[0118]
如图2所示,基于上述系统,本实施例还公开了一种基于智能多缓存链式处理机的类处理方法,具体包括以下步骤:
[0119]
接口建立步骤,建立特定接口;
[0120]
业务类集建立步骤,建立多个节点实现类,所述节点实现类实现对应特定接口,对所述节点实现类进行实现类属性的配置,所述实现类属性包括功能组编号、版本号、接口名、类名、排序号和权重;多个相同功能组编号的节点实现类构成业务类集。
[0121]
多缓存步骤,根据业务类集的使用频率来将对应的业务类集存储到一级缓存或者二级缓存中,使用频率高的业务类集存储在一级缓存中,其他的业务类集存储在二级缓存中;一级缓存采用和web容器或主程共用缓存方式,二级缓存采用redis集群单独部署方式。
[0122]
该步骤具体为:
[0123]
获取各个业务类集的权重、使用次数、业务类集长度以及一级缓存可使用的内存量;
[0124]
根据各个业务类集的使用次数、权重以及业务类集长度,对各个业务类集的使用频率进行计算;
[0125]
使用频率从高到低的各个业务类集依次加载入一级缓存,在一级缓存可使用的内存量小于当前加载入一级缓存中的各个业务类集的总内存占有量时,则停止载入。
[0126]
业务类集匹配步骤,根据接收到的客户端请求的功能组编号以及客户版本号,首先在一级缓存中查询是否有相同功能组编号的业务类集,且对应业务类集中有适用客户版本号的节点实现类,如果判断结果为是,则直接返回该业务类集,如果判断结果为否,则在二级缓存中查询具有相同功能组编号的业务类集,且对应业务类集中的有适用客户版本号的节点实现类,并返回该业务类集。
[0127]
链式处理步骤,根据返回的业务类集、请求的功能组编号以及客户版本号和根据接收到的全局参数,读取该业务类集中节点实现类集合,同时动态加载出对应的节点实现类,顺序执行所有节点实现类,上一个节点实现类的返回值作为下一个节点实现类的入参值。
[0128]
该步骤具体为:
[0129]
客户入参信息接收步骤,接收返回的业务类集、功能组编号和客户版本号,同时接收对应的全局参数。
[0130]
业务类集读取步骤,根据返回的业务类集,读取该业务类集中适用该客户版本号的节点实现类集合。
[0131]
实现类排序步骤,根据读取出来的节点实现类集合中的对应节点实现类的排序号,进行排序。
[0132]
节点实现类执行步骤,按照顺序执行所有的节点实现类,并把客户版本号、全局参数和上一个节点实现类的返回值传递给下一个节点实现类的入参值。
[0133]
结果输出步骤,最后一个节点实现类的返回值返回给客户。
[0134]
以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本技术给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本技术的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本技术要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献