CN116319794A - 一种云端系统与复杂网络下项目通信的解决方法及系统 - Google Patents
一种云端系统与复杂网络下项目通信的解决方法及系统 Download PDFInfo
- Publication number
- CN116319794A CN116319794A CN202310413198.5A CN202310413198A CN116319794A CN 116319794 A CN116319794 A CN 116319794A CN 202310413198 A CN202310413198 A CN 202310413198A CN 116319794 A CN116319794 A CN 116319794A
- Authority
- CN
- China
- Prior art keywords
- communication
- cloud system
- project
- request
- cloud
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 113
- 238000004891 communication Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012423 maintenance Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000002085 persistent effect Effects 0.000 claims abstract description 4
- 230000008676 import Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 230000007175 bidirectional communication Effects 0.000 claims description 3
- 238000001574 biopsy Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000035515 penetration Effects 0.000 abstract description 2
- 230000006835 compression Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 241000412611 Consul Species 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及网络穿透技术领域,具体是一种云端系统与复杂网络下项目通信的解决方法及系统,包括以下步骤:S1、在跳板机、堡垒机部署通信客户端,所述通信客户端与云端系统建立持久通信隧道;S2、通信客户端请求云端系统上报资源管理模块获得上报资源列表;S3、运维人员在云端系统通过所述通信隧道下发需求资源请求;S4、运维人员根据任务类别处理不同请求,本发明通过部署通信装置使得绝大多数复杂网络下的项目可以同云端管理系统通信,将复杂网络下项目的信息查看、升级集中在云端进行,项目环境只需要通过网络连接到云端即可完成大部分运维工作,实现对客户系统的集中运维管理,减少了人工管理的工作量和出错的可能性。
Description
技术领域
本发明涉及网络穿透技术领域,具体是一种云端系统与复杂网络下项目通信的解决方法及系统。
背景技术
随着云计算技术的快速发展,越来越多的企业选择将自己的应用程序部署在云上,云计算可以为企业提供灵活、可扩展的基础设施和服务,以满足其不断变化的业务需求。
然而,对于某些企业来说,私有化部署是更可行的选择;对于这些需要把程序部署在自己服务器资源上的企业,软件运维服务商需要通过客户企业开通跳板机进入复杂网络环境下的项目,然后花费巨大人力成本进行项目的维护、升级;面对客户数量的不断增加以及需要维护的项目数量也日渐增多。
发明内容
本发明的目的在于提供一种云端系统与复杂网络下项目通信的解决方法及系统,以解决上述背景技术中提出的问题。
本发明的技术方案是:一种云端系统与复杂网络下项目通信的解决方法,包括以下步骤:
S1、在跳板机、堡垒机部署通信客户端,通信客户端与云端系统建立持久通信隧道,实现通信客户端与云端系统的双向通信交互;
S2、通信客户端请求云端系统上报资源管理模块获得上报资源列表,根据资源列表获得上报时间间隔、请求URL、请求参数,根据时间间隔持续上报项目信息,项目信息由云端系统存储、更新;
S3、运维人员在云端系统通过通信隧道下发需求资源请求,通信客户端处理资源请求后,通过该通信隧道或http模式上报信息实时返回给运维人员;
S4、运维人员在云端系统创建不同类型任务,通过通信隧道下发任务通知,通信客户端收到通知后,请求云端系统任务中心,运维人员根据任务类别处理不同请求。
优选的,S1中,云端系统与通信客户端的通信交互包括以下步骤:
S1.1、云端系统启动wss服务监听指定端口,等待通信客户端连接;
S1.2、项目中的通信客户端向云端系统发起认证请求,通过请求后通信客户端上传项目唯一标识完成注册;
S1.3、运维人员请求项目信息,云端系统通过通信隧道下发资源URL,通信客户端收到访问请求,将该访问请求发给项目服务处理并将响应返回给云端系统,实时提供给运维人员。
优选的,S2中的资源管理模块包括:资源名称、资源URL、资源请求参数、资源请求header、资源请求方式、通信客户端上报方式、资源上报间隔。
优选的,S2还包括在云端系统查询项目信息时,根据通信客户端的网络状态展示实时请求信息、定时上报的数据。
一种云端系统与复杂网络下项目通信的解决系统,包括:
通信隧道建立模块:在复杂网络下安装通信客户端,客户端与云端系统建立可断联重连的通信隧道,实现客户端与云端系统的交互通信;
任务处理模块:处理任务类别有导入配置、下载docker镜像、镜像制作成tar包、导入程序;
项目访问模块:解析云端系统下发的请求,获得URL,请求项目软件获得响应后通过通信隧道上报至云端系统。
优选的,通信隧道建立模块包括:
断连重置单元:开启一个golang协程,每5秒判断wss是否已经断连,如果已经断连则获取ws地址进行连接,直至联通为止;
客户端检活单元:构建项目标识,每30秒发送ping请求,上报通信客户端活跃状态;
信息构建单元:根据项目标识、场景值,构建项目信息头,方便云端系统检测。
优选的,任务处理模块包括:
导入配置单元:从云端系统拉取导入配置任务,下载配置zip包,解压zip包,根据解压出的目录不同,导入至consul、nacos或者存放至指定本地路径;
下载镜像单元:从云端系统拉取下载镜像任务,使用任务下发的账号密码初始化docker客户端,再根据镜像路径使用docker pull下载指定镜像版本;
tar包生成单元:首先创建一个可读可写的目录,读取上述下载镜像单元下载指定镜像版本后,写入目录,如果读取失败或者生成失败,则返回错误,并上报至云端任务系统;
程序导入单元:新增download、shell与jar目录,下载云端指定zip包,解压后根据类别放置上述目录中。
本发明通过改进在此提供一种云端系统与复杂网络下项目通信的解决方法及系统,与现有技术相比,具有如下改进及优点:
本发明通过部署通信装置使得绝大多数复杂网络下的项目可以同云端管理系统通信,将复杂网络下项目的信息查看、升级集中在云端进行,项目环境只需要通过网络连接到云端即可完成大部分运维工作,减少运维工作量,实现对客户系统的集中运维管理,减少了人工管理的工作量和出错的可能性。
附图说明
下面结合附图和实施例对本发明作进一步解释:
图1是本发明的工作流程图;
图2是本发明的方法流程图;
图3是本发明的云端系统与通信客户端的通信交互流程图;
图4是本发明的解决系统结构框图。
具体实施方式
下面对本发明进行详细说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明通过改进在此提供一种云端系统与复杂网络下项目通信的解决方法及系统,主要包括云端系统与复杂网络下项目通信的解决方法和云端系统与复杂网络下项目通信的解决系统两个部分,本发明的技术方案是:
如图1-图3所示,一种云端系统与复杂网络下项目通信的解决方法,包括以下步骤:
S1、在跳板机、堡垒机部署通信客户端,通信客户端与云端系统建立持久通信隧道,实现通信客户端与云端系统的双向通信交互,具体包括以下步骤:
S1.1、云端系统启动wss服务监听指定端口,等待通信客户端连接;
S1.2、项目中的通信客户端向云端系统发起认证请求,通过请求后通信客户端上传项目唯一标识完成注册;
S1.3、运维人员请求项目信息,云端系统通过通信隧道下发资源URL,通信客户端收到访问请求,将该访问请求发给项目服务处理并将响应返回给云端系统,实时提供给运维人员;
S2、通信客户端请求云端系统上报资源管理模块获得上报资源列表,根据资源列表获得上报时间间隔、请求URL、请求参数,根据时间间隔持续上报项目信息,项目信息由云端系统存储、更新;
其中,资源管理模块包括:资源名称、资源URL、资源请求参数、资源请求header、资源请求方式、通信客户端上报方式、资源上报间隔;
在云端系统查询项目信息时,根据通信客户端的网络状态展示实时请求信息、定时上报的数据;
S3、运维人员在云端系统通过通信隧道下发需求资源请求,通信客户端处理资源请求后,通过该通信隧道或http模式上报信息实时返回给运维人员;
S4、运维人员在云端系统创建不同类型任务,通过通信隧道下发任务通知,通信客户端收到通知后,请求云端系统任务中心,运维人员根据任务类别处理不同请求。
上述方法的具体实现代码如下:
// runWs 启动websocket监听
func runWs() {
defer errcheck.Recover(func(einterface{}, _ bool) {
logger.Errorf("[runWs]failed,panic-recover", e)
})
cloudWsIns = cloudws.New(
getWsAddr(),
cloudws.WithLog(logger.StdLog()),
cloudws.WithGetSendUserIDBy(func(_*cloudws.Manager, rtoolimage.Request) string {
returnwsMaster
}),
cloudws.WithAfterConn(func(m*cloudws.Manager) {
logger.StdLog().Infof("[ws]启动成功,接受任务推送")
//ping
gowsPing(m)
}),
cloudws.WithProcess(wsProcess),
)
_ = cloudWsIns.Run()
select {}
}
getWsAddr() 代表获取需要云端监听的地址,cloudws.WithGetSendUserIDBy()代表构建项目唯一标识,go wsPing(m) 代表开启一个go协程每30秒发送ping请求,上报通信客户端活跃状态。
// SendHTTP 获取上报资源列表
func (s *server) SendHTTP() error {
// 根据当前时间和获取list超时时间尝试重新获取
if time.Since(s.getListTime)>getListSleep {
if err :=s.getServerList(); err != nil {
s.log.Errorf("[report::serverlist::SendHTTP]获取集群定时列表失败:%v",err)
returnerr
}
}
// 当前有任务正在进行中,停止
s.stop()
if len(s.list) == 0 {
return nil
}
// loop list
for _, v := range s.list {
item :=toolimage.MsgHTTPRequest{
URL: v.URL,
Method:v.Method,
Header:v.Header,
Body: v.Body,
}
s.runTask(&item,v.Interval)
}
s.crontab.Start()
return nil
}
s.getServerList() 代表获得上报资源列表,s.runTask(&item,v.Interval)代表通信客户端根据获得的资源上报信息以及时间间隔v.Interval进行上报项目信息。
// wsProcess 处理ws请求
func wsProcess(mgr *cloudws.Manager,wsr toolimage.Request) {
defer errcheck.Recover(func(einterface{}, _ bool) {
logger.Errorf("[ws]processfailed, panic-recover", e, wsr)
})
// 任务相关消息处理
if wsr.MessageType.IsTask() {
_ =scheduleTask()
return
}
// 处理http请求
ifwsr.MessageType.IsHTTPRequest() {
rtn :=buildBaseRequestData(toolimage.HTTPRequestType, nil)
rtn.SetUUID(wsr.UUID)
var (
data= toolimage.MsgHTTPRequest{}
err error
)
defer func() {
defererrcheck.Recover(func(e interface{}, _ bool) {
logger.Errorf("[wsProcess]failed,panic-recover", e)
})
iferr != nil {
data.Error= err.Error()
}
//use http callback
ifdata.CallbackType.IsHTTPCallback() {
if_, e := getRequest().ReportWithUUID(data, rtn.UUID); e != nil {
logger.Errorf("[ws]processhttp request failed, send http failed", e,wsr, data)
}
return
}
//use ws callback
ife := mgr.Send(rtn, data); e != nil {
logger.Errorf("[ws]processhttp request failed, send ws failed", e,wsr, data)
}
}()
if e :=wsr.Unmarshal(&data); e != nil {
err= e
logger.Errorf("[ws]processhttp request json.Unmarshal failed", e,wsr)
return
}
data.Response,err = onlinePrivateHTTP.Req(data.URL,request.MethodType(data.Method),data.Body)
return
}
// WS 初始化
ifwsr.MessageType.IsWebSocketType() {
createWsConnect(mgr,wsr)
}
// WS 关闭
ifwsr.MessageType.IsCloseWebSocketType() {
closeWsConnect(mgr,wsr)
}
}
wsr.MessageType.IsHTTPRequest()代表云端系统需要获取实时信息,onlinePrivateHTTP.Req(data.URL,request.MethodType(data.Method), data.Body) 代表通信客户端根据url,http method、参数调用项目内部资源,data.CallbackType.IsHTTPCallback()代表云端系统希望通信客户端需要何种形式上报信息,HTTPCallback代表http post请求,WSCallback代表websocket上报。
func (s *cImportService) Run() error {
log.Printf("开始配置导入任务")
if err := s.extract(); err !=nil {
return err
}
configJSON, err :=parseConfigJSON(path.Join(s.tmpPath, "config.json"))
if err != nil {
returnfmt.Errorf("解析config.json失败")
}
log.Printf("开始执行程序导入任务:循环configJSON")
for k, v := range configJSON {
var storagestorage.Storage
switch {
casek.IsConsul():
storage= s.consulStorage
casek.IsLocal():
storage= s.localStorage
casek.IsNacos():
storage= s.nacosStorage
}
if storage ==nil {
log.Printf("[service::config::import]写入配置失败,无效的storage,importType=%v, jsonItem=%v",
k,v)
returnnil
}
if err :=newCImport(storage, s.tmpPath, string(k)).writeStorage(v);err != nil {
returnfmt.Errorf("[service::config::import]写入配置[%s]失败:%v", v,err)
}
}
return nil
}
s.extract()代表开始解压从云端系统下载下来的zip配置文件包,casek.IsConsul()代表需要导入consul配置中心,case k.IsLocal()代表存入本地指定路径,case k.IsNacos()代表需要导入nacos配置中心。
func getClientWith() (*client.Client,error) {
returnclient.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
}
func getClientWith() 代表通信客户端根据云端系统初始化docker客户端。
func (d *dockerTar) imagePull(ctxcontext.Context, imageRef string)error {
reader, err :=d.cli.ImagePull(ctx, imageRef, types.ImagePullOptions{
RegistryAuth: d.buildRegistryAuth(),
All: false,
PrivilegeFunc:nil,
})
if err != nil {
return err
}
defer reader.Close()
// 读取不可删除
buf := new(bytes.Buffer)
for {
n, err :=buf.ReadFrom(reader)
if err != nil{
iferrors.Is(err, io.EOF) {
break
}
returnerr
}
if n == 0 {
break
}
}
return nil
}
imagePull() 方法代表使用初始化的docker客户端调用docker pull 拉取从云端获取的指定镜像版本。参数imageRef 代表从云端系统下发的程序镜像地址版本。
func (d *dockerTar) imageSave(ctxcontext.Context, imageAddr, tarFilestring) error {
readCloser, err :=d.cli.ImageSave(ctx, []string{imageAddr})
if err != nil {
returnerrors.Wrap(err, "call docker image save api error")
}
defer func() { _ =readCloser.Close() }()
f, err := os.OpenFile(tarFile,os.O_CREATE|os.O_RDWR|os.O_TRUNC,os.ModePerm)
if err != nil {
returnerrors.Wrap(err, "open file error")
}
defer func() { _ = f.Close() }()
buf := make([]byte, d.bufSize)
for {
n, err :=readCloser.Read(buf)
// 读取不到任何内容
if n == 0&&err == nil {
returnerrors.New("image save stream is empty")
}
if n>0 {
if_, err := f.Write(buf[:n]); err != nil {
returnerrors.Wrap(err, "write file error")
}
}
if err != nil{
iferrors.Is(err, io.EOF) {
break
}
returnerr
}
}
return nil
}
imageSave() 代表把指定镜像地址imageAddr打包成tarFile 路径下的tar格式的包。
func (p *programImport) Run() error {
// download file
ifp.task.DownloadFile.DownloadURL != "" {
if err :=p.downloadFile(); err != nil {
returnerr
}
if err :=p.unzipFile(); err != nil {
returnerr
}
}
// shell file
for _, v := rangep.task.ShellConfig {
pathFile :=path.Join(p.shPath, v.Filename)
if err :=file.WriteContent(pathFile, []byte(v.Content)); err != nil {
returnfmt.Errorf("写入shell[%s]失败, %v", pathFile, err)
}
}
return nil
}
func (p *programImport) Run() 代表导入程序,p.downloadFile()代表通信客户端从云端系统下载程序压缩包,p.unzipFile()代表通信客户端解压从云端系统下载压缩包,p.task.ShellConfig代表把要执行的shell脚本存入指定路径。
基于上述方法,通过部署通信装置使得绝大多数复杂网络下的项目可以同云端管理系统通信,将复杂网络下项目的信息查看、升级集中在云端进行,项目环境只需要通过网络连接到云端即可完成大部分运维工作,减少运维工作量,实现对客户系统的集中运维管理,减少了人工管理的工作量和出错的可能性。
如图1和图4所示,一种云端系统与复杂网络下项目通信的解决系统,包括:
通信隧道建立模块:在复杂网络下安装通信客户端,客户端与云端系统建立可断联重连的通信隧道,实现客户端与云端系统的交互通信;
通信隧道建立模块包括:
断连重置单元:开启一个golang协程,每5秒判断wss是否已经断连,如果已经断连则获取ws地址进行连接,直至联通为止;
客户端检活单元:构建项目标识,每30秒发送ping请求,上报通信客户端活跃状态;
信息构建单元:根据项目标识、场景值,构建项目信息头,方便云端系统检测;
任务处理模块:处理任务类别有导入配置、下载docker镜像、镜像制作成tar包、导入程序;
任务处理模块包括:
导入配置单元:从云端系统拉取导入配置任务,下载配置zip包,解压zip包,根据解压出的目录不同,导入至consul、nacos或者存放至指定本地路径;
下载镜像单元:从云端系统拉取下载镜像任务,使用任务下发的账号密码初始化docker客户端,再根据镜像路径使用docker pull下载指定镜像版本;
tar包生成单元:首先创建一个可读可写的目录,读取上述下载镜像单元下载指定镜像版本后,写入目录,如果读取失败或者生成失败,则返回错误,并上报至云端任务系统;
程序导入单元:新增download、shell与jar目录,下载云端指定zip包,解压后根据类别放置上述目录中;
项目访问模块:解析云端系统下发的请求,获得URL,请求项目软件获得响应后通过通信隧道上报至云端系统。
上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种云端系统与复杂网络下项目通信的解决方法,其特征在于:包括以下步骤:
S1、在跳板机、堡垒机部署通信客户端,所述通信客户端与云端系统建立持久通信隧道,实现通信客户端与云端系统的双向通信交互;
S2、通信客户端请求云端系统上报资源管理模块获得上报资源列表,根据资源列表获得上报时间间隔、请求URL、请求参数,根据时间间隔持续上报项目信息,所述项目信息由云端系统存储、更新;
S3、运维人员在云端系统通过所述通信隧道下发需求资源请求,通信客户端处理资源请求后,通过该通信隧道或http模式上报信息实时返回给运维人员;
S4、运维人员在云端系统创建不同类型任务,通过所述通信隧道下发任务通知,通信客户端收到通知后,请求云端系统任务中心,运维人员根据任务类别处理不同请求。
2.根据权利要求1所述的一种云端系统与复杂网络下项目通信的解决方法,其特征在于:所述S1中,云端系统与通信客户端的通信交互包括以下步骤:
S1.1、云端系统启动wss服务监听指定端口,等待通信客户端连接;
S1.2、项目中的通信客户端向云端系统发起认证请求,通过请求后通信客户端上传项目唯一标识完成注册;
S1.3、运维人员请求项目信息,云端系统通过所述通信隧道下发资源URL,通信客户端收到访问请求,将该访问请求发给项目服务处理并将响应返回给云端系统,实时提供给运维人员。
3.根据权利要求1所述的一种云端系统与复杂网络下项目通信的解决方法,其特征在于:所述S2中的资源管理模块包括:资源名称、资源URL、资源请求参数、资源请求header、资源请求方式、通信客户端上报方式、资源上报间隔。
4.根据权利要求3所述的一种云端系统与复杂网络下项目通信的解决方法,其特征在于:所述S2还包括在云端系统查询项目信息时,根据通信客户端的网络状态展示实时请求信息、定时上报的数据。
5.一种云端系统与复杂网络下项目通信的解决系统,其特征在于:包括:
通信隧道建立模块:在复杂网络下安装通信客户端,所述客户端与云端系统建立可断联重连的通信隧道,实现客户端与云端系统的交互通信;
任务处理模块:处理任务类别有导入配置、下载docker镜像、镜像制作成tar包、导入程序;
项目访问模块:解析云端系统下发的请求,获得URL,请求项目软件获得响应后通过通信隧道上报至云端系统。
6.根据权利要求5所述的一种云端系统与复杂网络下项目通信的解决系统,其特征在于:所述通信隧道建立模块包括:
断连重置单元:开启一个golang协程,每5秒判断wss是否已经断连,如果已经断连则获取ws地址进行连接,直至联通为止;
客户端检活单元:构建项目标识,每30秒发送ping请求,上报通信客户端活跃状态;
信息构建单元:根据项目标识、场景值,构建项目信息头,方便云端系统检测。
7.根据权利要求5所述的一种云端系统与复杂网络下项目通信的解决系统,其特征在于:所述任务处理模块包括:
导入配置单元:从云端系统拉取导入配置任务,下载配置zip包,解压zip包,根据解压出的目录不同,导入至consul、nacos或者存放至指定本地路径;
下载镜像单元:从云端系统拉取下载镜像任务,使用任务下发的账号密码初始化docker客户端,再根据镜像路径使用docker pull下载指定镜像版本;
tar包生成单元:首先创建一个可读可写的目录,读取上述下载镜像单元下载指定镜像版本后,写入目录,如果读取失败或者生成失败,则返回错误,并上报至云端任务系统;
程序导入单元:新增download、shell与jar目录,下载云端指定zip包,解压后根据类别放置上述目录中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413198.5A CN116319794B (zh) | 2023-04-18 | 2023-04-18 | 一种云端系统与复杂网络下项目通信的解决方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413198.5A CN116319794B (zh) | 2023-04-18 | 2023-04-18 | 一种云端系统与复杂网络下项目通信的解决方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116319794A true CN116319794A (zh) | 2023-06-23 |
CN116319794B CN116319794B (zh) | 2023-10-24 |
Family
ID=86801520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310413198.5A Active CN116319794B (zh) | 2023-04-18 | 2023-04-18 | 一种云端系统与复杂网络下项目通信的解决方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319794B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004153777A (ja) * | 2002-09-03 | 2004-05-27 | Ntt Docomo Inc | 送受信制御装置、送受信制御方法および送受信制御プログラム |
US20060248181A1 (en) * | 2005-05-02 | 2006-11-02 | Polycentric Networks Corporation | Formatted and/or tunable QOS data publication, subscription, and/or distribution servers and clients |
CN103544101A (zh) * | 2012-07-16 | 2014-01-29 | 深圳市世纪光速信息技术有限公司 | 一种无线平台开发自动测试系统及方法 |
CN103853585A (zh) * | 2014-02-19 | 2014-06-11 | 浪潮软件股份有限公司 | 一种通过云端集中管理版本的实现方法 |
CN105068876A (zh) * | 2015-07-01 | 2015-11-18 | 北京博睿宏远科技发展有限公司 | 基于分布式部署真机采集手机app性能数据的方法 |
CN107295096A (zh) * | 2017-07-14 | 2017-10-24 | 中国石油大学(华东) | 一种私有云计算服务平台、管理方法及系统 |
CN107534672A (zh) * | 2015-04-27 | 2018-01-02 | 微软技术许可有限责任公司 | 用于作为网络服务的客户端应用的持久统一资源定位符(url) |
CN111880917A (zh) * | 2020-07-28 | 2020-11-03 | 浙江九州云信息科技有限公司 | 一种边缘混合云管平台 |
CN111897541A (zh) * | 2020-08-03 | 2020-11-06 | 上海嗨酷强供应链信息技术有限公司 | 一种云环境下自动化部署资源的软件交互平台及方法 |
CN112527379A (zh) * | 2020-12-01 | 2021-03-19 | 深圳市证通电子股份有限公司 | 基于Guacamole的堡垒机应用运维方法、装置、设备及介质 |
CN113641581A (zh) * | 2021-08-11 | 2021-11-12 | 上海哔哩哔哩科技有限公司 | 混合模式移动应用调试方法及系统 |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114691364A (zh) * | 2022-03-28 | 2022-07-01 | 浙江绿城未来数智科技有限公司 | 一种未来社区数字孪生引擎弹性部署系统 |
US20220358240A1 (en) * | 2021-05-07 | 2022-11-10 | Sentinel, LLC | Adaptive data privacy platform |
CN115473898A (zh) * | 2022-11-14 | 2022-12-13 | 杭州欧若数网科技有限公司 | 一种边缘计算场景下的图数据库管理方法和系统 |
CN115941766A (zh) * | 2022-11-22 | 2023-04-07 | 京东科技信息技术有限公司 | 一种运维数据的处理方法和装置 |
-
2023
- 2023-04-18 CN CN202310413198.5A patent/CN116319794B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004153777A (ja) * | 2002-09-03 | 2004-05-27 | Ntt Docomo Inc | 送受信制御装置、送受信制御方法および送受信制御プログラム |
US20060248181A1 (en) * | 2005-05-02 | 2006-11-02 | Polycentric Networks Corporation | Formatted and/or tunable QOS data publication, subscription, and/or distribution servers and clients |
CN103544101A (zh) * | 2012-07-16 | 2014-01-29 | 深圳市世纪光速信息技术有限公司 | 一种无线平台开发自动测试系统及方法 |
CN103853585A (zh) * | 2014-02-19 | 2014-06-11 | 浪潮软件股份有限公司 | 一种通过云端集中管理版本的实现方法 |
CN107534672A (zh) * | 2015-04-27 | 2018-01-02 | 微软技术许可有限责任公司 | 用于作为网络服务的客户端应用的持久统一资源定位符(url) |
CN105068876A (zh) * | 2015-07-01 | 2015-11-18 | 北京博睿宏远科技发展有限公司 | 基于分布式部署真机采集手机app性能数据的方法 |
CN107295096A (zh) * | 2017-07-14 | 2017-10-24 | 中国石油大学(华东) | 一种私有云计算服务平台、管理方法及系统 |
CN111880917A (zh) * | 2020-07-28 | 2020-11-03 | 浙江九州云信息科技有限公司 | 一种边缘混合云管平台 |
CN111897541A (zh) * | 2020-08-03 | 2020-11-06 | 上海嗨酷强供应链信息技术有限公司 | 一种云环境下自动化部署资源的软件交互平台及方法 |
CN112527379A (zh) * | 2020-12-01 | 2021-03-19 | 深圳市证通电子股份有限公司 | 基于Guacamole的堡垒机应用运维方法、装置、设备及介质 |
US20220358240A1 (en) * | 2021-05-07 | 2022-11-10 | Sentinel, LLC | Adaptive data privacy platform |
CN113641581A (zh) * | 2021-08-11 | 2021-11-12 | 上海哔哩哔哩科技有限公司 | 混合模式移动应用调试方法及系统 |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114691364A (zh) * | 2022-03-28 | 2022-07-01 | 浙江绿城未来数智科技有限公司 | 一种未来社区数字孪生引擎弹性部署系统 |
CN115473898A (zh) * | 2022-11-14 | 2022-12-13 | 杭州欧若数网科技有限公司 | 一种边缘计算场景下的图数据库管理方法和系统 |
CN115941766A (zh) * | 2022-11-22 | 2023-04-07 | 京东科技信息技术有限公司 | 一种运维数据的处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
HUAQUN WANG等: ""Anonymous and secure aggregation scheme in fog-based public cloud computing"", 《WWW.SCIENCEDIRECT.COM/SCIENCE/ARTICLE/PII/S0167739X17302558》 * |
丁勇, 战洪飞, 张涛, 顾新建, 陈芨熙: "基于网络的协同过程管理系统", 工程设计学报, no. 05 * |
垢名浩: ""基于Netty的WebVPN的研究与实现"", 《中国硕士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN116319794B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113630372A (zh) | 一种边缘计算的云边协同系统 | |
US7526685B2 (en) | Application manager for monitoring and recovery of software based application processes | |
WO2019056913A1 (zh) | 一种容器登录方法、装置及存储介质 | |
US11340859B2 (en) | Synchronous display method, storage medium and electronic device | |
WO2018236567A1 (en) | SYSTEMS, METHODS AND APPARATUS FOR DOWNLOADING DOCKER IMAGES | |
EP2582089A1 (en) | System and method for implementing automatic configuration for equipments | |
CN112583898B (zh) | 业务流程编排方法、装置、以及可读介质 | |
CN111552568B (zh) | 云服务调用方法和装置 | |
CN101694637A (zh) | 一种数据库恢复的方法和系统 | |
CN101360127A (zh) | 文件更新方法及传输系统 | |
CN108833565A (zh) | 一种监控服务器的方法、装置、服务器和存储介质 | |
US8326913B2 (en) | Method and system for service contract discovery | |
US9026839B2 (en) | Client based high availability method for message delivery | |
CN110661780A (zh) | 一种基于saas应用的无线城市数据共享方法与系统 | |
CN110442506B (zh) | 一种日志获取方法、装置、业务服务器、系统及存储介质 | |
CN115514667A (zh) | 接入服务处理方法、系统、装置、电子设备以及存储介质 | |
CN116974948B (zh) | 业务系统测试方法、系统、设备和介质 | |
CN115941739A (zh) | 一种物联网设备的巡检系统及巡检方法 | |
CN116319732A (zh) | 一种基于RabbitMQ的消息队列集中配置管理系统及方法 | |
CN116319794B (zh) | 一种云端系统与复杂网络下项目通信的解决方法及系统 | |
CN111767271B (zh) | 数据处理方法及装置 | |
CN117707702A (zh) | 一种在线ide的实现方法及系统 | |
CN115632815A (zh) | 一种数据的更新方法、装置、电子设备及存储介质 | |
CN114356691A (zh) | 适配国产服务器的服务器监控方法及监控系统 | |
CN114244698B (zh) | 一种基于mqtt的cpe管理配置方法 |
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 |