开源组件治理方法、MEC服务节点、应用、介质及系统与流程

文档序号:33348397发布日期:2023-03-04 04:15阅读:69来源:国知局
开源组件治理方法、MEC服务节点、应用、介质及系统与流程
开源组件治理方法、mec服务节点、应用、介质及系统
技术领域
1.本发明涉及软件技术领域,尤其涉及一种开源组件治理方法、mec服务节点、应用终端、介质及系统。


背景技术:

2.开源组件包中提供了大量的基础代码,减少了开发者的负担。在软件供应链编码阶段,引用开源组件是开发者的常见操作。目前常见的开源组件调用方法是,开发工具自动从互联网的组件库下载组件包,或者从公司自建的组件库来拉取开源组件包。这样做的缺点是,在应用端直接调用开源组件,导致大量的应用均需要各自下载相同的开源组件,造成资源和时间的浪费,且不利于开源组件实时更新和安全防护。


技术实现要素:

3.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种开源组件治理方法、mec服务节点、应用终端、介质及系统,以解决现有技术在应用端直接调用开源组件,导致大量的应用均需要各自下载相同的开源组件,造成资源和时间的浪费的问题。
4.第一方面,本发明提供一种开源组件治理方法,应用于边缘计算mec服务节点,所述方法包括:
5.在接收到下属应用对开源组件的调用需求时,根据所述调用需求为所述下属应用所需调用的开源组件分配内存;
6.在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库,以供所述下属应用远程调用所述应用开源组件库中的开源组件。
7.可选地,在接收到下属应用对开源组件的调用需求之前,所述方法还包括:
8.从mec管理端同步mec服务所需的开源组件的最新版本,并存储在所述mec服务节点的节点开源组件库中;
9.其中,开源组件的最新版本由所述mec管理端从开源组件的官网同步,并存储在所述mec管理端的开源组件总库中。
10.可选地,所述供所述下属应用远程调用所述应用开源组件库中的开源组件,具体包括:
11.在接收到所述下属应用对开源组件的远程调用请求时,利用预存检测规则对所述远程调用请求携带的参数进行开源组件漏洞检测;
12.如果通过所述开源组件漏洞检测,则允许所述下属应用通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件,并向所述下属应用发送调用开源组件后的运行结果。
13.可选地,在接收到所述下属应用对某一预存开源组件的远程调用请求之前,所述方法还包括:
14.从mec管理端同步mec服务所需的开源组件的检测规则,以形成所述预存检测规
则;
15.其中,开源组件的检测规则是,在开源组件受到攻击或发现存在漏洞后,由安全人员根据所述攻击或所述漏洞提取获得,并上传至所述mec管理端的检测规则库中的。
16.可选地,从mec管理端同步mec服务所需的开源组件的检测规则之后,所述方法还包括:
17.若接收到某一开源组件的最新版本,并以所述某一开源组件的最新版本替换之前存储的所述某一开源组件后,则将所述某一开源组件对应的预存检测规则从所述mec服务节点自身删除。
18.第二方面,本发明提供一种开源组件治理方法,应用于边缘计算mec服务节点的下属应用,所述方法包括:
19.向所述mec服务节点发送对开源组件的调用需求,以使所述mec服务节点根据所述调用需求为所述下属应用所需调用的开源组件分配内存,并在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库;
20.向所述mec服务节点远程调用所述应用开源组件库中的开源组件。
21.可选地,所述向所述mec服务节点远程调用所述应用开源组件库中的开源组件,具体包括:
22.向所述mec服务节点发送对开源组件的远程调用请求,所述远程调用请求携带参数,以使所述mec服务节点利用预存检测规则对所述参数进行开源组件漏洞检测;
23.接收所述mec服务节点发送的调用开源组件后的运行结果,所述运行结果是,在通过所述开源组件漏洞检测后,通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件而获得的。
24.第三方面,本发明提供一种边缘计算mec服务节点,包括:
25.分配模块,用于在接收到下属应用对开源组件的调用需求时,根据所述调用需求为所述下属应用所需调用的开源组件分配内存;
26.建库模块,与所述分配模块连接,用于在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库,以供所述下属应用远程调用所述应用开源组件库中的开源组件。
27.第四方面,本发明提供一种终端,所述终端上安装有边缘计算mec服务节点的下属应用,包括:
28.需求模块,用于向所述mec服务节点发送所述下属应用对开源组件的调用需求,以使所述mec服务节点根据所述调用需求为所述下属应用所需调用的开源组件分配内存,并在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库;
29.调用模块,与所述需求模块连接,用于所述下属应用向所述mec服务节点远程调用所述应用开源组件库中的开源组件。
30.第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器运行时,实现如上所述的开源组件治理方法。
31.第六方面,本发明提供一种开源组件治理系统,包括:
32.边缘计算mec服务节点,用于实现如上所述的开源组件治理方法;
33.应用,下属于所述mec服务节点,用于实现如上所述的开源组件治理方法。
34.可选地,所述系统还包括:
35.mec管理端,与所述mec服务节点连接,用于为所述mec服务节点同步mec服务所需的开源组件的最新版本。
36.本发明提供一种开源组件治理方法、mec服务节点、应用终端、介质及系统,通过mec服务节点根据下联的应用调用开源组件的需求建立应用开源组件库,应用通过远程调用的方式从mec服务节点的应用开源组件库中调用开源组件,应用无需将开源组件下载到本地进行调用,节约了下载时间和本地资源。
附图说明
37.图1是本发明实施例的一种开源组件治理方法的流程图;
38.图2是本发明实施例的一种开源组件治理系统的结构示意图;
39.图3是本发明实施例的一种开源组件治理系统中开源组件漏洞检测的结构示意图;
40.图4是本发明实施例的另一种开源组件治理方法的流程图;
41.图5是本发明实施例的一种mec服务节点的结构示意图;
42.图6是本发明实施例的一种终端的结构示意图。
具体实施方式
43.为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
44.可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
45.可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
46.可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
47.可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
48.可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可根据不同于附图中所标注的顺序发生。
49.可以理解的是,本发明的流程图和框图中,示出了根据本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
50.可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
51.为了更好地理解本发明,首先对开源组件调用架构进行介绍。
52.应用开源组件开发软件,是目前非常普遍的软件开发方式之一。对于一些常用的
开源组件,会被大量软件代码调用,调用方法有的是在配置文件中写入组件版本号,由编程工具从互联网拉取,还有就是软件公司自建开源组件库,从各开源组件官网拉取开源组件包,具体如,在编程工具中,比如idea(java编程语言的集成开发环境),当代码中引用了某一开源组件时,自动下载到本地,在代码工程中进行调用,这无疑会造成本地资源和下载时间的浪费。
53.另一个问题是,对于常用的开源组件,一旦发现存在漏洞,将对大量的应用造成安全威胁,无疑是核弹级的打击。目前开源组件漏洞防护的方法是,当通过开源组件检测系统或者互联网上发现某个开源组件包有漏洞时,拉取最新的包进行更换,重新将应用打包发布来修复漏洞。对于广泛部署的应用和大量引用的开源组件来说,对所有软件包进行升级工作量大,而且容易遗漏。也有部署如rasp(一种新型应用安全保护技术)等应用防护系统监控和防御对开源组件的攻击的方法,但是如果对每一个应用都引入安全防护手段成本太大。
54.有鉴于此,本发明提出通过mec(multi-access edge computing,多接入边缘计算)管理开源组件包,对不同的应用分出一部分内存存储该应用需要引入的开源软件包,通过远程调用的方式引入到应用中的方法。当一个应用发现针对开源组件的攻击时,会将攻击规则进行分析提取,同步到远端mec管理侧,同时分发到各个近端mec服务节点进行安全防护。当开源组件修复漏洞后升级版本时,通过远端mec管理侧将开源组件同步到近端mec服务节点,然后将mec服务节点上每个应用开源组件库对应的开源组件进行升级,升级完成后删除针对该组件的攻击规则,应用只需重新启动就可以完成组件的升级,从而修复了漏洞。
55.实施例1:
56.如图1所示,本发明实施例1提供一种开源组件治理方法,应用于如图2边缘计算mec服务节点,所述方法包括:
57.s11、在接收到下属应用对开源组件的调用需求时,根据所述调用需求为所述下属应用所需调用的开源组件分配内存;
58.s12、在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库,以供所述下属应用远程调用所述应用开源组件库中的开源组件。
59.具体而言,在本实施例中,如图2所示,当某一应用需要调用开源组件包时,会向自身所上联的mec服务节点发送需求,对应的mec服务节点分出一块内存,用来存储该应用所需的开源软件包,建立应用开源组件库,应用的代码中通过远程的方式调用开源组件,不再在代码中引用组件时,下载组件到本地,在代码工程中进行调用,可以理解的是,应用作为程序,通常安装于终端上,终端作为应用的载体,为应用实现上述功能提供硬件装置基础,在图2中未示出终端。所述方法通过mec服务节点根据下联的应用调用开源组件的需求,分出一块内存存储应用所调用的开源组件包,建立应用开源组件库供应用调用,应用通过远程调用的方式从mec服务节点的应用开源组件库中调用开源组件,应用无需将开源组件下载到本地(即终端)再进行调用,数据传输速度快、低延时,节约了下载时间和本地资源。
60.可选地,在接收到下属应用对开源组件的调用需求之前,所述方法还包括:
61.从mec管理端同步mec服务所需的开源组件的最新版本,并存储在所述mec服务节点的节点开源组件库中;
62.其中,开源组件的最新版本由所述mec管理端从开源组件的官网同步,并存储在所述mec管理端的开源组件总库中。
63.具体而言,在本实施例中,在如图2所示的结构中,开源组件治理系统的mec服务分两级部署,一级是位于远端的mec管理端,其中设置开源组件总库,里面同步官网中的所有开源组件包,并且版本保持最新,可以由mec管理端按照预设条件收集实现;另一级是位于近端的mec服务节点,从mec管理端拉取保存连接到自身的多个下属应用常用的一些组件,存储于自身的节点开源组件库中,并且保持版本与mec管理端同步。开源组件通过mec管理端同步到mec服务节点,应用代码通过远程调用的方式调用开源组件,由一个mec服务节点可以实现对多个下属应用的组件服务,保证了应用中开源组件的统一管理,并能实时更新。
64.可选地,所述供所述下属应用远程调用所述应用开源组件库中的开源组件,具体包括:
65.在接收到所述下属应用对开源组件的远程调用请求时,利用预存检测规则对所述远程调用请求携带的参数进行开源组件漏洞检测;
66.如果通过所述开源组件漏洞检测,则允许所述下属应用通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件,并向所述下属应用发送调用开源组件后的运行结果。
67.具体而言,在本实施例中,在如图2和3所示,当某一应用调用开源组件时,mec服务节点的开源组件漏洞检测功能会根据自身预存的检测规则检测调用请求携带的参数,若发现攻击行为(如参数中包含攻击参数)则直接阻断本次调用,若确认调用参数安全,则允许应用调用所需的组件并向应用返回组件调用后的运行结果,从而成功调用组件。图2和3中的开源组件漏洞检测功能可以获取代码执行过程中每一个参数值,并且同步了自身所在mec服务节点含漏洞组件的参数规则,应用调用组件库某个组件的函数时会携带入参,在应用中hook到这个函数,会获取到这个函数的入参值,然后使用参数规则对入参值进行检测,即可判断本次的调用请求是正常调用,还是包含攻击的伪装调用。目前开源组件漏洞检测,基本都是根据版本号和漏洞库的数据进行匹配的方法,没有做到代码级别,该方案深入到开源组件中的代码里面,参考rasp等防护技术的手段获取代码执行过程中每一个参数值,在mec服务节点处实现对开源组件漏洞的集中检测,能够根据预设规则对调用参数进行检查,达到了细粒度的安全检查,同时降低防护成本。
68.可选地,在接收到所述下属应用对某一预存开源组件的远程调用请求之前,所述方法还包括:
69.从mec管理端同步mec服务所需的开源组件的检测规则,以形成所述预存检测规则;
70.其中,开源组件的检测规则是,在开源组件受到攻击或发现存在漏洞后,由安全人员根据所述攻击或所述漏洞提取获得,并上传至所述mec管理端的检测规则库中的。
71.具体而言,在本实施例中,在如图2所示的结构中,当某一个应用受到针对某个组件的攻击时,或者当一个组件爆出有漏洞(如通过某种已有的技术检测手段等发现某个组件存在漏洞)时,安全人员会分析针对该组件的攻击手法(包括可能的攻击手法),将攻击方式提取成检测规则后上报至远端mec管理端的检测规则库,由远端mec管理端检测规则库同步检测规则到所有有相应组件需求的mec服务节点的开源组件漏洞检测功能中。针对攻击
手法的分析,可以通过网络查看,比如log4j漏洞,刚爆出就迅速扩散开,包括攻击方法等,这时候大部分应用还没受到攻击,这时候就需要安全人员进一步分析,提取攻击手法,进行补救。对于针对某个组件的攻击,在攻击包中有包含攻击参数,这个参数会有一定的特点,比如反序列化攻击,会有一些括号,数字等,通过这些特点可以初步判断伪装的调用请求实际为对某个组件的攻击,然后需要安全人员根据攻击参数进一步确认,并提取攻击参数规则,例如提取某一攻击参数的正则表达式等形式的规则。因为mec节点网络是全部打通的,当一个应用(如应用x)受攻击时,能够通过一定的漏洞发现机制识别攻击,由安全人员分析该攻击的特点提取检测规则,然后将检测规则通过上联的mec服务节点同步到mec管理端,进而同步到全节点mec侧,实现对所有调用该组件的应用进行安全防护。
72.可选地,从mec管理端同步mec服务所需的开源组件的检测规则之后,所述方法还包括:
73.若接收到某一开源组件的最新版本,并以所述某一开源组件的最新版本替换之前存储的所述某一开源组件后,则将所述某一开源组件对应的预存检测规则从所述mec服务节点自身删除。
74.具体而言,在本实施例中,在如图2所示的结构中,mec管理端将新版本同步到每一个mec服务节点,当近端mec服务节点的开源组件升级后,不再包含此类漏洞组件,则将该组件对应的检测规则进行删除,重启应用包(如刷新或重新运行应用)后就能完成组件漏洞的升级修复,从而也就将新版本同步到了每一个应用,不需要更改代码配置文件中组件的版本,重新打包成应用发给终端进行升级,升级方式简单快捷,当组件升级后能够删除相应的漏洞检测规则,减少了资源开销。
75.实施例2:
76.如图4所示,本发明实施例2提供一种开源组件治理方法,应用于如图2所示的边缘计算mec服务节点的下属应用,所述方法包括:
77.s21、向所述mec服务节点发送对开源组件的调用需求,以使所述mec服务节点根据所述调用需求为所述下属应用所需调用的开源组件分配内存,并在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库;
78.s22、向所述mec服务节点远程调用所述应用开源组件库中的开源组件。
79.可选地,所述向所述mec服务节点远程调用所述应用开源组件库中的开源组件,具体包括:
80.向所述mec服务节点发送对开源组件的远程调用请求,所述远程调用请求携带参数,以使所述mec服务节点利用预存检测规则对所述参数进行开源组件漏洞检测;
81.接收所述mec服务节点发送的调用开源组件后的运行结果,所述运行结果是,在通过所述开源组件漏洞检测后,通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件而获得的。
82.本发明实施例2是与实施例1交互进行开源组件治理的过程,详细的交互流程已经在实施例1中进行说明,在此不再赘述。
83.本发明实施例2提供一种开源组件治理方法,应用于需要调用开源组件的应用中,该应用只需向mec服务节点发送调用开源组件的需求,然后通过mec服务节点建立的应用开源组件库,远程调用开源组件,无需将开源组件下载到本地进行调用,节约了下载时间和本
地资源。
84.实施例3:
85.如图5所示,本发明实施例3提供一种边缘计算mec服务节点,包括:
86.分配模块11,用于在接收到下属应用对开源组件的调用需求时,根据所述调用需求为所述下属应用所需调用的开源组件分配内存;
87.建库模块12,与所述分配模块11连接,用于在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库,以供所述下属应用远程调用所述应用开源组件库中的开源组件。
88.可选地,所述mec服务节点还包括:
89.同步模块,用于从mec管理端同步mec服务所需的开源组件的最新版本,并存储在所述mec服务节点的节点开源组件库中;
90.其中,开源组件的最新版本由所述mec管理端从开源组件的官网同步,并存储在所述mec管理端的开源组件总库中。
91.可选地,所述mec服务节点还包括:
92.检测单元,用于在接收到所述下属应用对开源组件的远程调用请求时,利用预存检测规则对所述远程调用请求携带的参数进行开源组件漏洞检测;
93.运行单元,与所述检测单元连接,用于如果通过所述开源组件漏洞检测,则允许所述下属应用通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件,并向所述下属应用发送调用开源组件后的运行结果。
94.可选地,所述同步模块还用于:
95.从mec管理端同步mec服务所需的开源组件的检测规则,以形成所述预存检测规则;
96.其中,开源组件的检测规则是,在开源组件受到攻击或发现存在漏洞后,由安全人员根据所述攻击或所述漏洞提取获得,并上传至所述mec管理端的检测规则库中的。
97.可选地,所述同步模块还用于:
98.若接收到某一开源组件的最新版本,并以所述某一开源组件的最新版本替换之前存储的所述某一开源组件后,则将所述某一开源组件对应的预存检测规则从所述mec服务节点自身删除。
99.实施例4:
100.如图6所示,本发明实施例4提供一种终端,所述终端上安装有边缘计算mec服务节点的下属应用,包括:
101.需求模块21,用于向所述mec服务节点发送所述下属应用对开源组件的调用需求,以使所述mec服务节点根据所述调用需求为所述下属应用所需调用的开源组件分配内存,并在所分配的内存中存储所述下属应用所需调用的开源组件形成应用开源组件库;
102.调用模块22,与所述需求模块21连接,用于所述下属应用向所述mec服务节点远程调用所述应用开源组件库中的开源组件。
103.可选地,所述调用模块22,具体包括:
104.请求单元,用于向所述mec服务节点发送对开源组件的远程调用请求,所述远程调用请求携带参数,以使所述mec服务节点利用预存检测规则对所述参数进行开源组件漏洞
检测;
105.结果单元,用于接收所述mec服务节点发送的调用开源组件后的运行结果,所述运行结果是,在通过所述开源组件漏洞检测后,通过所述远程调用请求携带的参数从所述应用开源组件库中远程调用开源组件而获得的。
106.实施例5:
107.本发明实施例5提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器运行时,实现如实施例1或实施例2所述的开源组件治理方法。
108.所述计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
109.实施例6:
110.如图2所示,本发明实施例6提供一种开源组件治理系统,包括:
111.边缘计算mec服务节点,用于实现如实施例1所述的开源组件治理方法;
112.应用,下属于所述mec服务节点,用于实现如实施例2所述的开源组件治理方法。
113.可选地,所述系统还包括:
114.mec管理端,与所述mec服务节点连接,用于为所述mec服务节点同步mec服务所需的开源组件的最新版本。
115.同时,mec管理端还向mec服务节点同步开源组件漏洞检测的检测规则等,mec管理端、mec服务节点和应用的其它特征已在实施例1中详细描述,在此不再赘述。
116.本发明实施例1-6提供一种开源组件治理方法、mec服务节点、应用终端、介质及系统,通过mec服务节点根据下联的应用调用开源组件的需求建立应用开源组件库,应用通过远程调用的方式从mec服务节点的应用开源组件库中调用开源组件,应用无需将开源组件下载到本地进行调用,节约了下载时间和本地资源。
117.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1