CN109831537A - 一种基于p2p自治域的软件模块化预取模型及方法 - Google Patents

一种基于p2p自治域的软件模块化预取模型及方法 Download PDF

Info

Publication number
CN109831537A
CN109831537A CN201910225547.4A CN201910225547A CN109831537A CN 109831537 A CN109831537 A CN 109831537A CN 201910225547 A CN201910225547 A CN 201910225547A CN 109831537 A CN109831537 A CN 109831537A
Authority
CN
China
Prior art keywords
application software
software module
autonomous domain
prefetched
layer
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
CN201910225547.4A
Other languages
English (en)
Other versions
CN109831537B (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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN201910225547.4A priority Critical patent/CN109831537B/zh
Publication of CN109831537A publication Critical patent/CN109831537A/zh
Application granted granted Critical
Publication of CN109831537B publication Critical patent/CN109831537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于P2P自治域的软件模块化预取模型及方法,包括净室层,用于统一存储、管理和维护所有的应用软件模块的净室层;多个边缘服务器且每个边缘服务器均能与净室层进行信息交互,用于对净室层内的应用软件模块进行缓存的边缘层;以及包括多个请求同一应用软件模块的若干设备所自动构成的P2P自治域,且多个P2P自治域与边缘层中的边缘服务器之间以及各个P2P自治域内的设备之间均可实现信息交互的终端层。本发明通过基于应用软件模块的方式在“净室层‑边缘层‑终端层”的三级网络模型中的各层级实体之间进行信息交互,缓解了传统服务器高负荷运行时的性能瓶颈,能够快速响应海量用户的请求,提供高效的加载方式以及高安全性能的服务。

Description

一种基于P2P自治域的软件模块化预取模型及方法
技术领域
本发明涉及到软件模块预取加载技术领域,尤其涉及一种基于P2P自治域的软件模块化预取模型及方法。
背景技术
近年来,不断发展起来的云计算、雾计算、透明计算以及大数据等技术,不断拓宽了计算机网络的领域,也为终端用户提供了更便捷的服务。同时,对于海量用户的服务请求,极易对当前的网络模型造成性能瓶颈。此外,由于用户终端过于依赖云服务器,一旦云服务器遭受病毒攻击,将大面积影响用户服务。
鉴于此,解决现有网络模型下的性能和安全问题,使应用软件能安全快速的加载和流畅运行在海量用户的请求下是本技术领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种基于P2P自治域的软件模块化预取模型及方法,该模型及方法通过P2P自治域构造和软件模块预取技术提高了加载速度,同时结合净室安全服务协议保证了预取模型的高安全性。本发明在一定程度上缓解了现阶段存在的性能和安全问题,提供了高效的加载方式以及高安全性能的服务。
为解决上述技术问题,本发明提供一种基于P2P自治域的软件模块化预取模型,包括:
净室层,用于统一存储、管理和维护所有的应用软件模块;
边缘层,包括多个边缘服务器,且每个边缘服务器均能与净室层进行信息交互,用于对净室层内的应用软件模块进行缓存;
终端层,包括多个请求同一应用软件模块的若干设备所自动构成的P2P自治域,且多个P2P自治域与边缘层中的边缘服务器之间以及各个P2P自治域内的设备之间均可实现信息交互。
优选地,所述净室层由净室安全服务器集群构成。
一种基于P2P自治域的软件模块化预取方法,采用了上述基于P2P自治域的软件模块化预取模型,所述预取方法包括以下步骤:
S1、建立P2P自治域的应用软件模块信息表和应用软件模块依赖关系图,同时打开设备的应用软件并读取所需的应用软件模块;
S2、判断当前设备中是否存在所需的应用软件模块,若存在该应用软件模块,则可直接使用;若不存在该应用软件模块,则通过所述应用软件模块信息表在当前设备的P2P自治域中找到拥有该应用软件模块的其它设备,连接拥有该应用软件模块的最近设备进行下载和使用;
S3、对所述步骤S2中的应用软件模块下载任务进行判断,若为主动下载任务,则在应用软件模块信息表中对该应用软件模块下载次数的计数加一;若不是主动下载任务,则检测当前设备所处的P2P自治域中是否存在其它下载或预取任务;
S4、若当前设备存在其它下载或预取任务,则等待该下载或预取任务完成;若当前设备不存在其它下载或预取任务,则根据所述步骤S1中的应用软件模块依赖关系图导出所需应用软件模块尚未加载过的应用软件模块依赖,并作为当前设备下一次被预取的应用软件模块;
S5、计算所述步骤S4中所有被预取应用软件模块的预取概率,并根据所计算的预取概率对被预取应用软件模块进行排序,优先预取高概率的应用软件模块;
S6、重复所述步骤S2,完成被预取应用软件模块的预取任务。
优选地,所述P2P自治域内的设备均设有允许连接的设备阈值数。
优选地,所述步骤S5中被预取应用软件模块的预取概率P的计算公式可表示为:
式(1)中,i表示被预取应用软件模块的序号,C表示被预取应用软件模块i的下载次数,n表示被预取应用软件模块的个数,表示所有被预取应用软件模块下载次数之和。
与现有技术比较,本发明具有以下技术效果:
本发明基于P2P自治域的软件模块化预取模型采用“净室层-边缘层-终端层”的三级网络模型架构,且各层级实体之间基于应用软件模块的方式进行信息交互,具体来说通过净室安全服务器集群提供了安全可靠的软件服务;同时利用边缘层的边缘服务器分别连接净室安全服务器与P2P自治域,直接为P2P自治域提供服务,不仅缓解了净室服务器的压力,提高了服务效率,而且在净室服务器出现故障时还能继续为用户提供可靠的服务;最后本发明中终端层的各个P2P自治域内的每个设备既是服务器也是客户端,当设备需要某个应用软件模块时,P2P自治域中各个设备之间就会互相请求应用软件模块和共享应用软件模块,也就是说每一个应用软件模块只需要在服务器端请求一次,就会自动在这个P2P自治域中去寻找拥有该应用软件模块的设备进行连接并下载使用,从而有效减轻服务器的压力。本发明通过充分利用净室层、边缘层和终端层的服务能力,大大缓解了传统服务器高负荷运行时的性能瓶颈,能够快速响应海量用户的请求,提供了高效的加载方式以及高安全性能的服务。
附图说明
图1是本发明一种基于P2P自治域的软件模块化预取模型的结构框图,
图2是本发明一种基于P2P自治域的软件模块化预取方法的流程图,
图3是本发明中应用软件模块依赖关系图。
图中:1.净室层,11.净室服务器,2.边缘层,21.边缘服务器,3.终端层,31.P2P自治域。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
如图1所示,一种基于P2P自治域的软件模块化预取模型,包括:
净室层,用于统一存储、管理和维护所有的应用软件模块;
边缘层,包括多个边缘服务器,且每个边缘服务器均能与净室层进行信息交互,用于对净室层内的应用软件模块进行缓存;
终端层,包括多个请求同一应用软件模块的若干设备所自动构成的P2P自治域,且多个P2P自治域与边缘层中的边缘服务器之间以及各个P2P自治域内的设备之间均可实现信息交互。
本实施例中,所述基于P2P自治域的软件模块化预取模型采用了“净室层-边缘层-终端层”的三级网络模型架构,通过净室安全服务器11集群构成净室层1,有效保证了应用软件的安全性能,同时通过边缘层2的边缘服务器31分别连接净室安全服务器11与P2P自治域31,为所述P2P自治域31直接提供服务,既有效缓解了净室安全服务器11的压力,提高了服务效率,又保证了即使在净室安全服务器11出现故障的情况下也还能继续为用户提供可靠的服务;而且终端层3中的各个P2P自治域31内的每个设备既是服务器也是客户端,通过所述P2P自治域31中各个设备之间的互相请求应用软件模块和共享应用软件模块,有效减轻了服务器的压力。由此可见,本实施例中基于P2P自治域的软件模块化预取模型一方面大大缓解了传统服务器高负荷运行时的性能瓶颈,能够快速响应海量用户的请求,另一方面也提供了高安全性能的服务。
如图1所示,所述净室层1由净室安全服务器11集群构成。本实施例中,所述净室层1通过净室安全服务器11集群构成,统一存储、管理和维护所有的应用软件资源,有效保证了应用软件的安全性,从而提供了安全可靠的应用软件服务。
一种基于P2P自治域的软件模块化预取方法,采用了上述基于P2P自治域的软件模块化预取模型,所述预取方法包括以下步骤:
S1、建立P2P自治域的应用软件模块信息表和应用软件模块依赖关系图,同时打开设备的应用软件并读取所需的应用软件模块;
S2、判断当前设备中是否存在所需的应用软件模块,若存在该应用软件模块,则可直接使用;若不存在该应用软件模块,则通过所述应用软件模块信息表在当前设备的P2P自治域中找到拥有该应用软件模块的其它设备,连接拥有该应用软件模块的最近设备进行下载和使用;
S3、对所述步骤S2中的应用软件模块下载任务进行判断,若为主动下载任务,则在应用软件模块信息表中对该应用软件模块下载次数的计数加一;若不是主动下载任务,则检测当前设备所处的P2P自治域中是否存在其它下载或预取任务;
S4、若当前设备存在其它下载或预取任务,则等待该下载或预取任务完成;若当前设备不存在其它下载或预取任务,则根据所述步骤S1中的应用软件模块依赖关系图导出所需应用软件模块尚未加载过的应用软件模块依赖,并作为当前设备下一次被预取的应用软件模块;
S5、计算所述步骤S4中所有被预取应用软件模块的预取概率,并根据所计算的预取概率对被预取应用软件模块进行排序,优先预取高概率的应用软件模块;
S6、重复所述步骤S2,完成被预取应用软件模块的预取任务。
本实施例中,初始时启动当前设备并读取所需应用软件模块,在所述P2P自治域中找到并连接拥有该应用软件模块的其他合法设备,按需加载应用软件模块,同时通过收集所述P2P自治域中所需应用软件模块的相关信息,计算出该应用软件模块的依赖模块预取概率,提前预测出将要使用的应用软件模块组,进而实现了应用软件的流畅运行。本发明不需要将整个应用软件包下载到当前设备就能流畅运行,极大缩减了应用软件的启动时间,提升了用户的体验感。
如图2所示,所述P2P自治域内的设备均设有允许连接的设备阈值数。本实施例中,所述P2P自治域内设备的允许连接设备阈值数设为20,通过将设备允许连接的设备阈值数设置为一定值,一方面可以有效将请求服务进行分散,避免该设备连接过多的请求设备,导致其服务性能降低;另一方面也可以充分利用设备的服务能力。当当前设备不存在所需应用软件模块时,通过所述应用软件模块信息表在当前设备的P2P自治域中找到拥有该应用软件模块的其它设备,此时这里找到的其他设备的允许连接设备阈值数是低于20的,若该P2P自治域中的所有设备的允许连接设备阈值数均超过20时,则此时当前设备就会向边缘服务器请求相应的应用软件模块,若边缘服务器不存在的话,则会向净室安全服务器请求相应的应用软件模块。
如图2所示,所述步骤S5中被预取应用软件模块的预取概率P的计算公式可表示为:
式(1)中,i表示被预取应用软件模块的序号,Ci表示被预取应用软件模块i的下载次数,n表示被预取应用软件模块的个数,表示所有被预取应用软件模块下载次数之和。本实施例中,通过式(1)可计算出所有被预取应用软件模块的预取概率,然后根据预取概率的高低逐一完成被预取应用软件模块的预取任务。
为了进一步理解本发明的工作原理和技术效果,下面我们以应用软件模块III为所需的应用软件模块对本发明中基于P2P自治域的软件模块化预取过程进行详细说明。
如表1和图3所示,表1是P2P自治域的应用软件模块信息表,表1中第一列表示应用软件模块名称,第二列表示拥有该应用软件模块对应的设备名称(其中设备名称后面括号表示已连接的设备数量),第三列表示该应用软件模块对应的依赖应用软件模块;图3是应用软件模块依赖关系图,图3中矩形框表示已加载应用软件模块,菱形框表示当前正在使用模块,椭圆形框表示未加载模块,应用软件模块后的数字表示下载的次数。
表1:P2P自治域的应用软件模块信息表
应用软件模块 拥有该应用软件模块的设备 依赖应用软件模块
I A(3)、B(4)、C(7) II、III、IV
II B(4)、C(7) I、IV、VI
III E(9)、F(2) I、V、VII、VIII
IV D(4)、K(1) I、II
V A(3)、B(4) III、VII、X
VI B(4)、F(2) II、X
VII A(3) III、V
VIII C(7)、G(4) III
IX F(2)、H(3) X
X C(7) VI、V、IX
当当前设备不存在其他下载或预取任务时,则此时设备会根据所建立的应用软件模块依赖关系图导出应用软件模块III尚未加载过的应用软件模块依赖,并作为当前设备下一次被预取的应用软件模块,由表1可知,所需应用软件模块III的依赖模块(即当前设备写一次被预取的应用软件模块)为模块I、V、VII和VIII,根据图3所示,应用软件模块I为已加载模块,故此时应用软件模块III的依赖模块为模块V、VII和VIII,则可计算出此时各个依赖模块的预取概率,具体为:
PV=9/(9+10+19)=9/38 (2)
PVII=10/(9+10+19)=10/38 (3)
PVII=19/(9+10+19)=19/38 (4)
由式(2)、式(3)和式(4)可知,各个依赖模块的预取概率从高到低为模块VIII、VII和V,则当前设备被预取应用软件模块的预取顺序为VIII、VII和V,然后依次完成被预取应用软件模块的预取任务,下面以应用软件模块VIII为例来说明具体预取过程:首先判断当前设备中是否存在所预取的应用软件模块VIII,若存在该应用软件模块VIII,则直接使用;若不存在应用软件模块VIII,则在当前设备的P2P自治域中通过表1找到拥有应用软件模块VIII且不超过允许连接设备阈值数的其它设备,然后连接地理位置最近的其他设备进行应用软件模块VIII的下载;最后依次完成被预取应用软件模块VII和V的预取操作,从而完成当前设备的整个应用软件模块预取,因所有预取应用软件模块的预取操作均相同,故此处不再一一赘述。
以上对本发明所提供的一种基于P2P自治域的软件模块化预取模型及方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (5)

1.一种基于P2P自治域的软件模块化预取模型,其特征在于,包括:
净室层,用于统一存储、管理和维护所有的应用软件模块;
边缘层,包括多个边缘服务器,且每个边缘服务器均能与净室层进行信息交互,用于对净室层内的应用软件模块进行缓存;
终端层,包括多个请求同一应用软件模块的若干设备所自动构成的P2P自治域,且多个P2P自治域与边缘层中的边缘服务器之间以及各个P2P自治域内的设备之间均可实现信息交互。
2.如权利要求1所述的基于P2P自治域的软件模块化预取模型,其特征在于,所述净室层由净室安全服务器集群构成。
3.一种基于P2P自治域的软件模块化预取方法,其特征在于,采用了权利要求1或2所述的基于P2P自治域的软件模块化预取模型,所述预取方法包括以下步骤:
S1、建立P2P自治域的应用软件模块信息表和应用软件模块依赖关系图,同时打开设备的应用软件并读取所需的应用软件模块;
S2、判断当前设备中是否存在所需的应用软件模块,若存在该应用软件模块,则可直接使用;若不存在该应用软件模块,则通过所述应用软件模块信息表在当前设备的P2P自治域中找到拥有该应用软件模块的其它设备,连接拥有该应用软件模块的最近设备进行下载和使用;
S3、对所述步骤S2中的应用软件模块下载任务进行判断,若为主动下载任务,则在应用软件模块信息表中对该应用软件模块下载次数的计数加一;若不是主动下载任务,则检测当前设备所处的P2P自治域中是否存在其它下载或预取任务;
S4、若当前设备存在其它下载或预取任务,则等待该下载或预取任务完成;若当前设备不存在其它下载或预取任务,则根据所述步骤S1中的应用软件模块依赖关系图导出所需应用软件模块尚未加载过的应用软件模块依赖,并作为当前设备下一次被预取的应用软件模块;
S5、计算所述步骤S4中所有被预取应用软件模块的预取概率,并根据所计算的预取概率对被预取应用软件模块进行排序,优先预取高概率的应用软件模块;
S6、重复所述步骤S2,完成被预取应用软件模块的预取任务。
4.如权利要求3所述的基于P2P自治域的软件模块化预取方法,其特征在于,所述P2P自治域内的设备均设有允许连接的设备阈值数。
5.如权利要求4所述的基于P2P自治域的软件模块化预取方法,其特征在于,所述步骤S5中被预取应用软件模块的预取概率P的计算公式可表示为:
式(1)中,i表示被预取应用软件模块的序号,Ci表示被预取应用软件模块i的下载次数,n表示被预取应用软件模块的个数,表示所有被预取应用软件模块下载次数之和。
CN201910225547.4A 2019-03-22 2019-03-22 一种基于p2p自治域的软件模块化预取模型及方法 Active CN109831537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910225547.4A CN109831537B (zh) 2019-03-22 2019-03-22 一种基于p2p自治域的软件模块化预取模型及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910225547.4A CN109831537B (zh) 2019-03-22 2019-03-22 一种基于p2p自治域的软件模块化预取模型及方法

Publications (2)

Publication Number Publication Date
CN109831537A true CN109831537A (zh) 2019-05-31
CN109831537B CN109831537B (zh) 2021-03-09

Family

ID=66871901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910225547.4A Active CN109831537B (zh) 2019-03-22 2019-03-22 一种基于p2p自治域的软件模块化预取模型及方法

Country Status (1)

Country Link
CN (1) CN109831537B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583820C (zh) * 2006-09-11 2010-01-20 思华科技(上海)有限公司 内容分发网络的路由系统及方法
CN102027731B (zh) * 2008-05-20 2014-12-10 阿尔卡特朗讯美国公司 使用边缘数据存储器在移动网络环境中预取数据的方法和设备
CN104618506A (zh) * 2015-02-24 2015-05-13 庄奇东 一种众包的内容分发网络系统、方法与装置
CN105830413A (zh) * 2013-10-25 2016-08-03 蜂巢流有限公司 主动预取

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583820C (zh) * 2006-09-11 2010-01-20 思华科技(上海)有限公司 内容分发网络的路由系统及方法
CN102027731B (zh) * 2008-05-20 2014-12-10 阿尔卡特朗讯美国公司 使用边缘数据存储器在移动网络环境中预取数据的方法和设备
CN105830413A (zh) * 2013-10-25 2016-08-03 蜂巢流有限公司 主动预取
CN104618506A (zh) * 2015-02-24 2015-05-13 庄奇东 一种众包的内容分发网络系统、方法与装置

Also Published As

Publication number Publication date
CN109831537B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
WO2019114128A1 (zh) 区块链事务区块处理方法、电子装置及可读存储介质
CN103338252B (zh) 一种分布式数据库并发存储虚拟请求机制的实现方法
CN103595780B (zh) 基于消重的云计算资源调度方法
CN104102693B (zh) 对象处理方法和装置
CN108196935B (zh) 一种面向云计算的虚拟机节能迁移方法
CN103607312B (zh) 用于服务器系统的数据请求处理方法及系统
CN110325968A (zh) 分布式计算系统中的系统升级管理
CN106648456A (zh) 基于用户访问量以及预测机制的动态副本文件访问方法
CN102369688A (zh) 资源动态调整方法和调度设备
CN103970807B (zh) 数据库连接管理方法及系统
CN108183947A (zh) 分布式缓存方法及系统
CN105577806B (zh) 一种分布式缓存方法及系统
CN112600761B (zh) 一种资源分配的方法、装置及存储介质
CN115277566B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
CN108683722A (zh) 一种数据传输的方法、esb平台及客户端
CN108196940A (zh) 删除容器的方法和相关设备
CN111475108A (zh) 一种分布式存储方法、计算机设备及计算机可读存储介质
CN109325001B (zh) 基于元数据服务器删除小文件的方法、装置及设备
CN107197039A (zh) 一种基于cdn的paas平台服务包分发方法及系统
CN103281365B (zh) 分布式虚拟化架构
CN103970592B (zh) 交易中间件的单线程多任务处理方法及服务器
CN109831537A (zh) 一种基于p2p自治域的软件模块化预取模型及方法
CN107092551A (zh) 一种服务器系统性能优化方法及装置
CN110069319B (zh) 一种面向朵云资源管理的多目标虚拟机调度方法及系统
CN107181747A (zh) 一种包含顶层节点的Handle解析系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant