CN114978743A - 一种跨网络段的服务通信系统 - Google Patents

一种跨网络段的服务通信系统 Download PDF

Info

Publication number
CN114978743A
CN114978743A CN202210646100.6A CN202210646100A CN114978743A CN 114978743 A CN114978743 A CN 114978743A CN 202210646100 A CN202210646100 A CN 202210646100A CN 114978743 A CN114978743 A CN 114978743A
Authority
CN
China
Prior art keywords
proxy server
communication terminal
rpc
communication
sending
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
CN202210646100.6A
Other languages
English (en)
Other versions
CN114978743B (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.)
Hangzhou Diji Intelligent Technology Co ltd
Original Assignee
Hangzhou Diji Intelligent Technology Co ltd
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 Hangzhou Diji Intelligent Technology Co ltd filed Critical Hangzhou Diji Intelligent Technology Co ltd
Priority to CN202210646100.6A priority Critical patent/CN114978743B/zh
Publication of CN114978743A publication Critical patent/CN114978743A/zh
Application granted granted Critical
Publication of CN114978743B publication Critical patent/CN114978743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种跨网络段的服务通信系统,包括第一通信端和第二通信端,所述第一通信端和第二通信端内均具有rpc代理服务器,第一通信端和第二通信端通过rpc代理服务器相互通信,所述rpc代理服务器包括:通道应用层,用于进行标签管理、授权管理和文件切片;rpc框架层,用于进行命令注册、命令回调和命令分发;通道管理层,用于进行通道的同步/异步处理;编码层。本发明的跨网络段的服务通信系统,通过设置一个代理服务(rpc代理),为两个集群服务中进行代理做双工TCP通信,相互对各自进行代理,进而达到两个集群内部中的消息的安全、高性能、低带宽资源的互通。

Description

一种跨网络段的服务通信系统
技术领域
本发明涉及一种通信系统,更具体的说是涉及一种跨网络段的服务通信系统。
背景技术
目前在一些需要在isyscoreOs系统之间进行卫星通讯的场景,会遇到这样的一些问题,这里将所有问题列举下:
第一:安全方面,比如OS-A访问另外一个OS-B时候,无法直接访问对方的集群中的一些服务,或者说可以访问的话,也需要对服务进行授权
第二:资源节省方面,普通OS-A以及OS-B内部服务要连接,则通过http这种协议时候,有大部分的一些头部数据是无用的,大量的非长连接传输也会浪费不少资源,需要定制化协议处理
第三:双工传输方面,我们场景里面也需要对文件能够双向传输,普通的上传和下载需要区分服务端与客户端,而系统之间是不区分客户端和服务端,更多的是需要在一个通道中既能接收也能发送
第四:文件端点续传,在场景中,需要用到大文件传输,而大文件传输也涉及到中断后的续传问题。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种采用基于TCP协议设计自定义协议,精简化无用数据,不添加其他无用的功能;增加标签的概念,用于管理通道,在一OS对多OS情况下的人为方面的管控,通道的授权以及连接处理的跨网络段的服务通信系统。
为实现上述目的,本发明提供了如下技术方案:一种跨网络段的服务通信系统,包括第一通信端和第二通信端,所述第一通信端和第二通信端内均具有rpc代理服务器,第一通信端和第二通信端通过rpc代理服务器相互通信,所述rpc代理服务器包括:
通道应用层,用于进行标签管理、授权管理和文件切片;
rpc框架层,用于进行命令注册、命令回调和命令分发;
通道管理层,用于进行通道的同步/异步处理;
编码层,用于进行协议编解码、流量统计、TLS/SSL证书管理、压缩/解压缩文件和将文件序列化或反序列化;
其中,当rpc代理服务器所处的通信端作为发送端时,通道应用层(1)还用于进行流量统计和通用调用,通道管理层(3)还用于超时处理、心跳监听、自动注册和状态处理。
作为本发明的进一步改进,所述两个rpc代理服务器之间通信的数据格式由序列化部分、压缩配置部分和消息部分依次排列组合而成,所述序列化部分可以通过以下方式来进行序列化:
1:采用hession方式来序列化;
2:采用java原生方式来序列化;
3:采用protobuf方式来序列化;
4:采用fastjson方式来序列化;
其中,消息部分包括长度表示部分和消息本体部分,长度表示部分处于消息本体部分与压缩配置部分之间。
作为本发明的进一步改进,所述第一通信端和第二通信端通过rpc代理服务器通信的步骤如下:
步骤一,选定第一通信端为发送端,第二通信端为接收方,第一通信端内的rpc代理服务器为发送rpc代理服务器,第二通信端内的rpc代理服务器为接收rpc代理服务器;
步骤二,第一通信端通过发送rpc代理服务器向第二通信端发起授权,第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作,并在授权同意后建立起通信通道并通过发送rpc代理服务器和接收rpc代理服务器相互传输数据;步骤三,在传输数据完成以后第一通信端通过发送rpc代理服务器发起断开链接消息,第二通信端在接收到断开链接消息后通过接收rpc代理服务器断开链接,并且在发送rpc代理服务器确定链接非手动断开时进行链接重连;
步骤四,第一通信端通过发送rpc代理服务器发起撤销授权,第二通信端通过接收rpc代理服务器取消授权,之后第一通信端进入通用的业务调用步骤。
作为本发明的进一步改进,所述步骤二中发起授权的具体步骤如下:
步骤二一,第一通信端发起授权消息进入到发送rpc代理服务器内,发送rpc代理服务器判断链接是否存在,若存在则界面显示异常后返回至第一通信端,若不存在则获取通道,并在通道不存在时则创建通道;
步骤二二,通过tcp通信与接收rpc代理服务器通信,第二通信端在接收到授权消息后判断是否授权过,若授权过则直接添加链接信息然后返回响应消息至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,通过tcp通信返回至发送rpc代理服务器后创建链接,若判断未授权过则更新信息后根据osld获取通道,通过tcp通信返回至发送rpc代理服务器,将数据插入到第一通信端,同时返回响应信号至第一通信端,在第一通信端显示已请求消息。
作为本发明的进一步改进,所述步骤三中第一通信端发起断开链接的具体步骤如下:
步骤三一,第一通信端发起断开链接请求至发送rpc代理服务器内,发送rpc代理服务器返回准备更新状态至第一通信端,之后获取通道通过tcp网络通信与接收rpc代理服务器通信,接收rpc代理服务器发送更新状态至第二通信端,第二通信端返回至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,之后接收rpc代理服务器通过tcp通信返回至发送rpc代理服务器,发送rpc代理服务器更新链接状态至第一通信端,第一通信端显示已手动断开。
作为本发明的进一步改进,所述步骤三中的链接重连的具体步骤如下:
步骤三二,第一通信端发出重新链接至发送rpc代理服务器,发送rpc代理服务器返回是否处于链接断开状态,并在第一通信端返回非手动断开时发送rpc代理服务器返回非手动断开则界面显示异常至第一通信端,发送rpc代理服务器获取通道后返回,同时通过tcp通信与接收rpc代理服务器通信,同时接收rpc代理服务器发送是否授权过至第二通信端,第二通信端判断授权过则接收rpc代理服务器返回更新链接状态至第二通信端,同时第二通信端发出响应指令后接收rpc代理服务器,接收rpc代理服务器通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回链接正常至第一通信端,若第一通信端返回是手动断开至发送rpc代理服务器,发送rpc代理服务器通信返回链接正常至第一通信端;
其中,若第二通信端判断为未授权过,则进入授权同意或拒绝流程。
作为本发明的进一步改进,所述步骤四中发起撤销授权的具体步骤如下:
步骤四一,第一通信端发出取消授权至发送rpc代理服务器,发送rpc代理服务器返回非发起授权中判断,并在第一通信端返回判断为非发起授权中则发送rpc代理服务器获取通道,然后通过tcp通信与接收rpc代理服务器通信,接收rpc代理服务器发送是否授权中至第二通信端,第二通信端判断未授权则接收rpc代理服务器通信返回删除链接数据至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端;
步骤四二,若第二通信段判断已授权,则接收rpc代理服务器根据osld获取通道后发送取消授权失败至发送rpc代理服务器,发送rpc代理服务器返回响应至第一通信端。
作为本发明的进一步改进,所述步骤四中的通用的业务调用步骤具体如下:
步骤四三,第一通信端发起业务调用至发送rpc代理服务器,发送rpc代理服务器返回是否存在tag对于的通道列表的判断,若第一通信端判断存在则返回直接返回指令至发送rpc代理服务器,若判断不存在则返回从db获取指令至发送rpc代理服务器,发送rpc代理服务器获取通道后通过tcp通信发送tcp网络调用指令至接收rpc代理服务器,接收rpc代理服务器进行参数校验,返回业务调用指令至第二通信端,第二通信端返回数据返回指令至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信返回osld获取通道网络调用指令至发送rpc代理服务器,发送rpc代理服务器返回数据返回指令至第一通信端。作为本发明的进一步改进,所述步骤二中第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作的具体步骤如下:
步骤二三,第二通信端发出授权同意或授权拒绝指令至接收rpc代理服务器,接收rpc代理服务器返回是否待授权中判断至第二通信端,第二通信端判断为非待授权,则接收rpc代理服务器返回异常至第二通信端,第二通信端界面显示异常,若第二通信端判断为待授权中,则接收rpc代理服务器根据osld获取通道后通过tcp通信返回同意或拒绝请求指令至发送rpc代理服务器,发送rpc代理服务器返回信息更新指令至第一通信端,同时发送rpc代理服务器通过tcp通信返回处理OK指令至接收rpc代理服务器,接收rpc代理服务器返回更新状态指令至第二通信端,第二通信端接收到已同意或已拒绝指令。
作为本发明的进一步改进,所述步骤三中第二通信端断开链接的具体步骤如下:步骤三三,第二通信端发出断开链接至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端,之后发送rpc代理服务器获取通道后通过tcp与接收rpc代理服务器通信,接收rpc代理服务器返回删除链接数据至第二通信端。
本发明的有益效果,通过设置一个代理服务(rpc代理),为两个集群服务中进行代理做双工TCP通信,相互对各自进行代理,进而达到两个集群内部中的消息的安全、高性能、低带宽资源的互通,并且通过将rpc代理设置成通道应用层、rpc框架层、通道管理层和编码层的方式,可有效的构建出rpc框架以及相应的通道管理和授权管理,同时可将文件进行有效的编码,实现第一通信端和第二通信端之间的安全、高性能、低带宽资源的互通。
附图说明
图1为本发明的系统的结构图;
图2为图1中rpc代理服务器的分层架构图;
图3为数据格式的示意图;
图4为第一通信端和第二通信端通过rpc代理服务器通信的流程图;
图5为第一通信端发起授权的流程图;
图6为第一通信端断开链接的流程图;
图7为第一通信端连接重试的流程图;
图8为第一通信端发起撤销授权的流程图;
图9为第一通信端通用的业务调用的流程图;
图10为第二通信端授权同意或拒绝的流程图;
图11为第二通信端断开链接的流程图;
图12为第二通信端取消授权的流程图;
图13为大文件切片处理的示意图;
图14为大文件传输过程时的系统结构图;
图15为大文件传输过程的示意图;
图16为文件推送流程图;
图17为文件拉取流程图。
具体实施方式
下面将结合附图所给出的实施例对本发明做进一步的详述。
参照图1至2所示,本实施例的一种跨网络段的服务通信系统,包括第一通信端和第二通信端,所述第一通信端和第二通信端内均具有rpc代理服务器,第一通信端和第二通信端通过rpc代理服务器相互通信,其特征在于:所述rpc代理服务器包括:
通道应用层,用于进行标签管理、授权管理和文件切片;
rpc框架层,用于进行命令注册、命令回调和命令分发;
通道管理层,用于进行通道的同步/异步处理;
编码层,用于进行协议编解码、流量统计、TLS/SSL证书管理、压缩/解压缩文件和将文件序列化或反序列化;
其中,当rpc代理服务器所处的通信端作为发送端时,通道应用层还用于进行流量统计和通用调用,通道管理层还用于超时处理、心跳监听、自动注册和状态处理,如此便可有效的实现让第一通信端和第二通信端通过rpc代理服务器进行通信了,并且采用了通道应用层的方式,可以实现对于通信过程中进行标签管理、授权管理和文件切片,而通过rpc框架层可以实现命令注册、命令回调和命令分发,通过通道管理层进行通道的同步或异步处理,进而通过编码层的设置,可实现协议编解码、流量统计、TLS/SSL证书管理、压缩/解压缩文件和将文件序列化或反序列化,其中本实施例的rpc代理服务器在处理数据和指令的过程中均是通过通道应用层、rpc框架层、通道管理层和编码层进行处理的。
作为改进的一种具体实施方式,参照图3所示,所述两个rpc代理服务器之间通信的数据格式由序列化部分、压缩配置部分和消息部分依次排列组合而成,所述序列化部分可以通过以下方式来进行序列化:
1:采用hession方式来序列化;
2:采用java原生方式来序列化;
3:采用protobuf方式来序列化;
4:采用fastjson方式来序列化;
其中,消息部分包括长度表示部分和消息本体部分,长度表示部分处于消息本体部分与压缩配置部分之间,通过上述数据格式便可有效的实现对数据进行序列化后通信了,并且在通信的过程中对消息长度进行表示,使得第一通信端和第二通信端对于数据的处理能够更好的进行处理了,图中serialize:序列化部分,press:压缩配置部分,对数据是否采用压缩算法,其实这里只用了一个值,表示是否,Body length:表示后面的消息的长度,messsage body:表示消息本体。
作为改进的一种具体实施方式,参照图4所示,所述第一通信端和第二通信端通过rpc代理服务器通信的步骤如下:
步骤一,选定第一通信端为发送端,第二通信端为接收方,第一通信端内的rpc代理服务器为发送rpc代理服务器,第二通信端内的rpc代理服务器为接收rpc代理服务器;
步骤二,第一通信端通过发送rpc代理服务器向第二通信端发起授权,第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作,并在授权同意后建立起通信通道并通过发送rpc代理服务器和接收rpc代理服务器相互传输数据;步骤三,在传输数据完成以后第一通信端通过发送rpc代理服务器发起断开链接消息,第二通信端在接收到断开链接消息后通过接收rpc代理服务器断开链接,并且在发送rpc代理服务器确定链接非手动断开时进行链接重连;
步骤四,第一通信端通过发送rpc代理服务器发起撤销授权,第二通信端通过接收rpc代理服务器取消授权,之后第一通信端进入通用的业务调用步骤,通过上述四个步骤的设置,便可有效的实现第一通信端和第二通信端通过rpc代理服务器进行相互通信了。
作为改进的一种具体实施方式,参照图5所示,所述步骤二中发起授权的具体步骤如下:
步骤二一,第一通信端发起授权消息进入到发送rpc代理服务器内,发送rpc代理服务器判断链接是否存在,若存在则界面显示异常后返回至第一通信端,若不存在则获取通道,并在通道不存在时则创建通道;
步骤二二,通过tcp通信与接收rpc代理服务器通信,第二通信端在接收到授权消息后判断是否授权过,若授权过则直接添加链接信息然后返回响应消息至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,通过tcp通信返回至发送rpc代理服务器后创建链接,若判断未授权过则更新信息后根据osld获取通道,通过tcp通信返回至发送rpc代理服务器,将数据插入到第一通信端,同时返回响应信号至第一通信端,在第一通信端显示已请求消息,通过上述步骤的设置,便可有效的实现第一通信端发起授权操作了。
作为改进的一种具体实施方式,参照图6所示,所述步骤三中第一通信端发起断开链接的具体步骤如下:
步骤三一,第一通信端发起断开链接请求至发送rpc代理服务器内,发送rpc代理服务器返回准备更新状态至第一通信端,之后获取通道通过tcp网络通信与接收rpc代理服务器通信,接收rpc代理服务器发送更新状态至第二通信端,第二通信端返回至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,之后接收rpc代理服务器通过tcp通信返回至发送rpc代理服务器,发送rpc代理服务器更新链接状态至第一通信端,第一通信端显示已手动断开,通过上述步骤的设置,便可有效的实现第一通信端发起断开链接操作了。
作为改进的一种具体实施方式,参照图7所示,所述步骤三中的链接重连的具体步骤如下:
步骤三二,第一通信端发出重新链接至发送rpc代理服务器,发送rpc代理服务器返回是否处于链接断开状态,并在第一通信端返回非手动断开时发送rpc代理服务器返回非手动断开则界面显示异常至第一通信端,发送rpc代理服务器获取通道后返回,同时通过tcp通信与接收rpc代理服务器通信,同时接收rpc代理服务器发送是否授权过至第二通信端,第二通信端判断授权过则接收rpc代理服务器返回更新链接状态至第二通信端,同时第二通信端发出响应指令后接收rpc代理服务器,接收rpc代理服务器通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回链接正常至第一通信端,若第一通信端返回是手动断开至发送rpc代理服务器,发送rpc代理服务器通信返回链接正常至第一通信端;
其中,若第二通信端判断为未授权过,则进入授权同意或拒绝流程,通过上述步骤的设置,便可有效的实现第一通信端在链接断开的时候,进行链接重连了。作为改进的一种具体实施方式,参照图8所示,所述步骤四中发起撤销授权的具体步骤如下:
步骤四一,第一通信端发出取消授权至发送rpc代理服务器,发送rpc代理服务器返回非发起授权中判断,并在第一通信端返回判断为非发起授权中则发送rpc代理服务器获取通道,然后通过tcp通信与接收rpc代理服务器通信,接收rpc代理服务器发送是否授权中至第二通信端,第二通信端判断未授权则接收rpc代理服务器通信返回删除链接数据至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端;
步骤四二,若第二通信段判断已授权,则接收rpc代理服务器根据osld获取通道后发送取消授权失败至发送rpc代理服务器,发送rpc代理服务器返回响应至第一通信端,通过上述步骤的设置,便可有效的实现第一通信端有效的发起撤销授权指令了。
作为改进的一种具体实施方式,参照图9所示,所述步骤四中的通用的业务调用步骤具体如下:
步骤四三,第一通信端发起业务调用至发送rpc代理服务器,发送rpc代理服务器返回是否存在tag对于的通道列表的判断,若第一通信端判断存在则返回直接返回指令至发送rpc代理服务器,若判断不存在则返回从db获取指令至发送rpc代理服务器,发送rpc代理服务器获取通道后通过tcp通信发送tcp网络调用指令至接收rpc代理服务器,接收rpc代理服务器进行参数校验,返回业务调用指令至第二通信端,第二通信端返回数据返回指令至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信返回osld获取通道网络调用指令至发送rpc代理服务器,发送rpc代理服务器返回数据返回指令至第一通信端,通过上述步骤的设置,便可有效的实现将第一通信端进入到业务调用步骤了,如此第二通信端便可有效的实现业务调用了。
作为改进的一种具体实施方式,参照图10所示,所述步骤二中第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作的具体步骤如下:
步骤二三,第二通信端发出授权同意或授权拒绝指令至接收rpc代理服务器,接收rpc代理服务器返回是否待授权中判断至第二通信端,第二通信端判断为非待授权,则接收rpc代理服务器返回异常至第二通信端,第二通信端界面显示异常,若第二通信端判断为待授权中,则接收rpc代理服务器根据osld获取通道后通过tcp通信返回同意或拒绝请求指令至发送rpc代理服务器,发送rpc代理服务器返回信息更新指令至第一通信端,同时发送rpc代理服务器通过tcp通信返回处理OK指令至接收rpc代理服务器,接收rpc代理服务器返回更新状态指令至第二通信端,第二通信端接收到已同意或已拒绝指令,通过上述步骤的设置,便可有效的实现第二通信端进行授权同意或是拒绝操作了。
作为改进的一种具体实施方式,参照图11所示,所述步骤三中第二通信端断开链接的具体步骤如下:
步骤三三,第二通信端发出断开链接至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端,之后发送rpc代理服务器获取通道后通过tcp与接收rpc代理服务器通信,接收rpc代理服务器返回删除链接数据至第二通信端,通过上述步骤的设置,便可有效的实现第二通信端有效的进行断开链接操作了。
本实施例中还提供了第二通信端的取消授权步骤,参照图12所示,首先第二通信端发起取消授权指令至接收rpc代理服务器,接收rpc代理服务器根据Osld获取通道,之后接收rpc代理服务器通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器发出删除连接指令至第一通信端,发送rpc代理服务器获取通道后通过tcp通信与接收rpc代理服务器通信,接收rpc代理服务器返回删除连接数据,同时删除授权表指令至第二通信端,由此便可有效的实现取消授权操作了。
本实施例中还提供了大文件双攻传输功能,为了实现大文件的处理,即文件大小无上限,需要对文件切片处理,如下,每一帧处理方面都是一次请求;图13中:
开始帧:用于创建本次任务,同时也检测双方之间的通道可用性、合法性数据帧:文件切片后的实际数据
结束帧:用于清理本次任务。
大文件传输与数据传输不同的是,这里接收方采用ip绑定的负载均衡策略,如图14所示,因为为了保证同一个pod能够对文件数据帧的持续接收,因为k8s内部两种负载均衡策略(轮询、ip绑定)控制权都在部署方,而文件发送这边是要根据不同的请求,进行采用不同的负载均衡策略,比如文件传输调用某个业务本次任务就需要固定对应的pod才行,流程如图15所示。
本实施例中还提供了文件推送流程,如图16所示,在文件推送的过程中:
开始帧-请求结构
1.上传的版本号,本次为空
2.请求key:本次文件上传请求的uuid
3.目标文件权路径:可不设置,默认源文件名,比如:/biz/file/dest.txt
数据帧-请求结构
1.请求key:本次文件上传请求的uuid
2.本次上传起始位置:long类型
3.文件块:byte[],设置为1M大小
结束帧-请求结构
1.请求key:本次文件上传请求的uuid
2.本次上传起始位置:long类型
3.文件块:byte[],设置为1M大小
推送响应结构
1.返回标示:0-表示成功,1-(上传)表示接收方配置文件不存在
2.失败的信息
发送方文件的路径是位于/upload/config/sender/xxx.cfg或者/.upload/config/sender/xxx.cfg,其中xxx表示的是本次上传请求的uuid,也就是请求key;
内容结构为
1.源文件的文件全名,用于服务重启时候重新上传文件读取用
2.目标文件全路径名,用于服务重启时候重新上传文件读取用
3.读取位置,用于服务重启时候重新上传位置读取
4.发送文件上次更新的时间:用于每次读取时候要进行判断,一旦文件被修改了,则需要重新上传
5.本次任务超时时间
接收方文件的路径是位于/upload/config/receiver/xxx.cfg或者/.upload/config/receiver/xxx.cfg其中xxx表示的是本次上传请求的uuid,也就是请求key;
内容结构为
1.目标文件路径前缀,用于配置目标文件路径,比如:/biz/config/file/
2.目标文件名,用于数据帧时候使用,比如:test1.txt
3.接收文件上次更新的时间:每次写入时候要进行判断,一旦文件被修改了,则需要让发送方从头上传
4.本次任务超时时间。
本实施例中还提供了文件拉取流程,如图17所示,在文件拉取方面,tag只能绑定一个通道,如果tag绑定OS多个通道,则任务失败,并报异常“文件拉取的tag不可绑定多通道”,在文件拉取的过程中:
开始帧-请求结构
1.下载的版本号,本次为空;
2.请求key:本次文件下载请求的uuid;
3.目标文件全路径:比如:/biz/file/dest.txt;
目标文件路径设置了,但是最终的文件呈现是会加上一级reqId的目录的,比如如上,推送到服务器对应的实际文件为/biz/file/xxx/dest.txt其中xxx为请求key,这样做是为了在多个源文件下载到本地时候能够进行识别。
开始帧-请求结构
1.请求key:本次文件下载请求的uuid;
2.本次下载起始位置:long类型;
结束帧-请求结构
1.请求key:本次文件下载请求的uuid;
2.本次下载起始位置:long类型;
拉取响应结构
1.返回标示:0-表示成功,其他表示失败,1-(下载)表示接收方目标文件不存在;
2.失败的信息;
3.文件总长度;
4.文件块(只有数据下载命令请求才会有数据):byte[],设置为1M大小发送方文件的路径是位于/download/config/sender/xxx.cfg或
/.download/config/sender/xxx.cfg。
其中xxx表示的是本次下载请求的uuid,也就是请求key;
发送方内容结构
1.目标文件路径,用于配置目标文件路径,比如:/biz/config/file/dst.txt;
2.下次读取位置,用于服务重启时候重新上传位置读取;
3.发送文件上次更新的时间:用于每次读取时候要进行判断,一旦文件被修改了,则需要重新上传;
接收方配置
接收方文件的路径是位于/download/config/receiver/xxx.cfg或者
/.download/config/receiver/xxx.cfg;
其中xxx表示的是本次上传请求的uuid,也就是请求key;
1.源文件路径,用于配置目标文件路径,比如:/biz/config/file/src.txt;
2.接收文件上次更新的时间:每次写入时候要进行判断,一旦文件被修改了,则需要让发送方从头上传。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种跨网络段的服务通信系统,包括第一通信端和第二通信端,所述第一通信端和第二通信端内均具有rpc代理服务器,第一通信端和第二通信端通过rpc代理服务器相互通信,其特征在于:所述rpc代理服务器包括:
通道应用层,用于进行标签管理、授权管理和文件切片;
rpc框架层,用于进行命令注册、命令回调和命令分发;
通道管理层,用于进行通道的同步/异步处理;
编码层,用于进行协议编解码、流量统计、TLS/SSL证书管理、压缩/解压缩文件和将文件序列化或反序列化;
其中,当rpc代理服务器所处的通信端作为发送端时,通道应用层还用于进行流量统计和通用调用,通道管理层还用于超时处理、心跳监听、自动注册和状态处理。
2.根据权利要求1所述的跨网络段的服务通信系统,其特征在于:所述两个rpc代理服务器之间通信的数据格式由序列化部分、压缩配置部分和消息部分依次排列组合而成,所述序列化部分可以通过以下方式来进行序列化:
1:采用hession方式来序列化;
2:采用java原生方式来序列化;
3:采用protobuf方式来序列化;
4:采用fastjson方式来序列化;
其中,消息部分包括长度表示部分和消息本体部分,长度表示部分处于消息本体部分与压缩配置部分之间。
3.根据权利要求1或2所述的跨网络段的服务通信系统,其特征在于:所述第一通信端和第二通信端通过rpc代理服务器通信的步骤如下:
步骤一,选定第一通信端为发送端,第二通信端为接收方,第一通信端内的rpc代理服务器为发送rpc代理服务器,第二通信端内的rpc代理服务器为接收rpc代理服务器;
步骤二,第一通信端通过发送rpc代理服务器向第二通信端发起授权,第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作,并在授权同意后建立起通信通道并通过发送rpc代理服务器和接收rpc代理服务器相互传输数据;
步骤三,在传输数据完成以后第一通信端通过发送rpc代理服务器发起断开链接消息,第二通信端在接收到断开链接消息后通过接收rpc代理服务器断开链接,并且在发送rpc代理服务器确定链接非手动断开时进行链接重连;
步骤四,第一通信端通过发送rpc代理服务器发起撤销授权,第二通信端通过接收rpc代理服务器取消授权,之后第一通信端进入通用的业务调用步骤。
4.根据权利要求3所述的跨网络段的服务通信系统,其特征在于:所述步骤二中发起授权的具体步骤如下:
步骤二一,第一通信端发起授权消息进入到发送rpc代理服务器内,发送rpc代理服务器判断链接是否存在,若存在则界面显示异常后返回至第一通信端,若不存在则获取通道,并在通道不存在时则创建通道;
步骤二二,通过tcp通信与接收rpc代理服务器通信,第二通信端在接收到授权消息后判断是否授权过,若授权过则直接添加链接信息然后返回响应消息至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,通过tcp通信返回至发送rpc代理服务器后创建链接,若判断未授权过则更新信息后根据osld获取通道,通过tcp通信返回至发送rpc代理服务器,将数据插入到第一通信端,同时返回响应信号至第一通信端,在第一通信端显示已请求消息。
5.根据权利要求4所述的跨网络段的服务通信系统,其特征在于:所述步骤三中第一通信端发起断开链接的具体步骤如下:
步骤三一,第一通信端发起断开链接请求至发送rpc代理服务器内,发送rpc代理服务器返回准备更新状态至第一通信端,之后获取通道通过tcp网络通信与接收rpc代理服务器通信,接收rpc代理服务器发送更新状态至第二通信端,第二通信端返回至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道,之后接收rpc代理服务器通过tcp通信返回至发送rpc代理服务器,发送rpc代理服务器更新链接状态至第一通信端,第一通信端显示已手动断开。
6.根据权利要求5所述的跨网络段的服务通信系统,其特征在于:所述步骤三中的链接重连的具体步骤如下:
步骤三二,第一通信端发出重新链接至发送rpc代理服务器,发送rpc代理服务器返回是否处于链接断开状态,并在第一通信端返回非手动断开时发送rpc代理服务器返回非手动断开则界面显示异常至第一通信端,发送rpc代理服务器获取通道后返回,同时通过tcp通信与接收rpc代理服务器通信,同时接收rpc代理服务器发送是否授权过至第二通信端,第二通信端判断授权过则接收rpc代理服务器返回更新链接状态至第二通信端,同时第二通信端发出响应指令后接收rpc代理服务器,接收rpc代理服务器通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回链接正常至第一通信端,若第一通信端返回是手动断开至发送rpc代理服务器,发送rpc代理服务器通信返回链接正常至第一通信端;
其中,若第二通信端判断为未授权过,则进入授权同意或拒绝流程。
7.根据权利要求6所述的跨网络段的服务通信系统,其特征在于:所述步骤四中发起撤销授权的具体步骤如下:
步骤四一,第一通信端发出取消授权至发送rpc代理服务器,发送rpc代理服务器返回非发起授权中判断,并在第一通信端返回判断为非发起授权中则发送rpc代理服务器获取通道,然后通过tcp通信与接收rpc代理服务器通信,接收rpc代理服务器发送是否授权中至第二通信端,第二通信端判断未授权则接收rpc代理服务器通信返回删除链接数据至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端;
步骤四二,若第二通信段判断已授权,则接收rpc代理服务器根据osld获取通道后发送取消授权失败至发送rpc代理服务器,发送rpc代理服务器返回响应至第一通信端。
8.根据权利要求7所述的跨网络段的服务通信系统,其特征在于:所述步骤四中的通用的业务调用步骤具体如下:
步骤四三,第一通信端发起业务调用至发送rpc代理服务器,发送rpc代理服务器返回是否存在tag对于的通道列表的判断,若第一通信端判断存在则返回直接返回指令至发送rpc代理服务器,若判断不存在则返回从db获取指令至发送rpc代理服务器,发送rpc代理服务器获取通道后通过tcp通信发送tcp网络调用指令至接收rpc代理服务器,接收rpc代理服务器进行参数校验,返回业务调用指令至第二通信端,第二通信端返回数据返回指令至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信返回osld获取通道网络调用指令至发送rpc代理服务器,发送rpc代理服务器返回数据返回指令至第一通信端。
9.根据权利要求8所述的跨网络段的服务通信系统,其特征在于:所述步骤二中第二通信端通过接收rpc代理服务器进行授权同意或拒绝操作的具体步骤如下:
步骤二三,第二通信端发出授权同意或授权拒绝指令至接收rpc代理服务器,接收rpc代理服务器返回是否待授权中判断至第二通信端,第二通信端判断为非待授权,则接收rpc代理服务器返回异常至第二通信端,第二通信端界面显示异常,若第二通信端判断为待授权中,则接收rpc代理服务器根据osld获取通道后通过tcp通信返回同意或拒绝请求指令至发送rpc代理服务器,发送rpc代理服务器返回信息更新指令至第一通信端,同时发送rpc代理服务器通过tcp通信返回处理OK指令至接收rpc代理服务器,接收rpc代理服务器返回更新状态指令至第二通信端,第二通信端接收到已同意或已拒绝指令。
10.根据权利要求9所述的跨网络段的服务通信系统,其特征在于:所述步骤三中第二通信端断开链接的具体步骤如下:
步骤三三,第二通信端发出断开链接至接收rpc代理服务器,接收rpc代理服务器根据osld获取通道后通过tcp通信与发送rpc代理服务器通信,发送rpc代理服务器返回删除链接数据至第一通信端,之后发送rpc代理服务器获取通道后通过tcp与接收rpc代理服务器通信,接收rpc代理服务器返回删除链接数据至第二通信端。
CN202210646100.6A 2022-06-08 2022-06-08 一种跨网络段的服务通信系统 Active CN114978743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210646100.6A CN114978743B (zh) 2022-06-08 2022-06-08 一种跨网络段的服务通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210646100.6A CN114978743B (zh) 2022-06-08 2022-06-08 一种跨网络段的服务通信系统

Publications (2)

Publication Number Publication Date
CN114978743A true CN114978743A (zh) 2022-08-30
CN114978743B CN114978743B (zh) 2023-07-18

Family

ID=82961151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210646100.6A Active CN114978743B (zh) 2022-06-08 2022-06-08 一种跨网络段的服务通信系统

Country Status (1)

Country Link
CN (1) CN114978743B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722663A (zh) * 2004-07-13 2006-01-18 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
US20090319789A1 (en) * 2008-04-14 2009-12-24 Larry Wendell Wilson Encrypted portable medical history system
CN102857537A (zh) * 2011-07-01 2013-01-02 中国移动通信集团辽宁有限公司 一种远程调用方法、装置和系统
KR101655966B1 (ko) * 2015-09-11 2016-09-08 동아대학교 산학협력단 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법
CN106101113A (zh) * 2016-06-24 2016-11-09 中国科学院计算技术研究所 一种云计算数据安全标记管理方法及系统
CN108965312A (zh) * 2018-07-30 2018-12-07 深圳高新兴物联科技有限公司 远程调用方法、装置、系统和存储介质
CN110138779A (zh) * 2019-05-16 2019-08-16 全知科技(杭州)有限责任公司 一种基于多协议反向代理的Hadoop平台安全管控方法
CN110399233A (zh) * 2019-06-28 2019-11-01 口碑(上海)信息技术有限公司 远程过程调用的处理方法及装置
CN110602192A (zh) * 2019-08-30 2019-12-20 北京谷数科技有限公司 一种扩展存储集群系统网络通信能力的方法
CN111010380A (zh) * 2019-12-06 2020-04-14 杭州视洞科技有限公司 一种跨区域服务一体化方案
CN111865900A (zh) * 2020-06-03 2020-10-30 中邮消费金融有限公司 基于rpc协议的跨网络区域代理访问方法及系统
CN111917737A (zh) * 2020-07-14 2020-11-10 北京明略软件系统有限公司 一种跨网rpc调用系统及方法
WO2021174222A1 (en) * 2020-02-28 2021-09-02 Riera Michael F Halo: a hardware-agnostic accelerator orchestration software framework for heterogeneous computing systems
CN113746851A (zh) * 2021-09-08 2021-12-03 上海幻电信息科技有限公司 一种支持实时解析grpc请求的代理系统和方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722663A (zh) * 2004-07-13 2006-01-18 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
US20090319789A1 (en) * 2008-04-14 2009-12-24 Larry Wendell Wilson Encrypted portable medical history system
CN102857537A (zh) * 2011-07-01 2013-01-02 中国移动通信集团辽宁有限公司 一种远程调用方法、装置和系统
KR101655966B1 (ko) * 2015-09-11 2016-09-08 동아대학교 산학협력단 Netconf 프로토콜의 rpc 계층 개선을 위한 장치 및 방법
CN106101113A (zh) * 2016-06-24 2016-11-09 中国科学院计算技术研究所 一种云计算数据安全标记管理方法及系统
CN108965312A (zh) * 2018-07-30 2018-12-07 深圳高新兴物联科技有限公司 远程调用方法、装置、系统和存储介质
CN110138779A (zh) * 2019-05-16 2019-08-16 全知科技(杭州)有限责任公司 一种基于多协议反向代理的Hadoop平台安全管控方法
CN110399233A (zh) * 2019-06-28 2019-11-01 口碑(上海)信息技术有限公司 远程过程调用的处理方法及装置
CN110602192A (zh) * 2019-08-30 2019-12-20 北京谷数科技有限公司 一种扩展存储集群系统网络通信能力的方法
CN111010380A (zh) * 2019-12-06 2020-04-14 杭州视洞科技有限公司 一种跨区域服务一体化方案
WO2021174222A1 (en) * 2020-02-28 2021-09-02 Riera Michael F Halo: a hardware-agnostic accelerator orchestration software framework for heterogeneous computing systems
CN111865900A (zh) * 2020-06-03 2020-10-30 中邮消费金融有限公司 基于rpc协议的跨网络区域代理访问方法及系统
CN111917737A (zh) * 2020-07-14 2020-11-10 北京明略软件系统有限公司 一种跨网rpc调用系统及方法
CN113746851A (zh) * 2021-09-08 2021-12-03 上海幻电信息科技有限公司 一种支持实时解析grpc请求的代理系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FENG WANG,DARIO FERTONANI,TOLGA M. DUMAN: "Symbol-Level Synchronization and LDPC Code Design for Insertion/Deletion Channels", 《IEEE》 *
小欣妹妹: "RPC框架的原理和应用方法", 《HTTPS://MY.OSCHINA.NET/U/3628059/BLOG/176174》 *
程旺: "基于Hadoop的云存储系统的设计与实现", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN114978743B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
US7555525B2 (en) Temporary contact alias system
US7602765B2 (en) Method for synchronizing status information of IMPS client
US20080155067A1 (en) Apparatus for transferring data via a proxy server and an associated method and computer program product
KR20100064605A (ko) 연결 관리 기능을 제공하는 방법 및 웹 서버
CN107528891B (zh) 一种基于WebSocket的自动集群方法及其系统
US20080071914A1 (en) Session control system
JP2013504806A (ja) ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム
US20060093119A1 (en) Leveraging real-time communications client
WO2011015020A1 (zh) 文件传输方法、系统及客户端
CN107529229B (zh) 数据传输的方法,装置及系统
EP2693691A1 (en) Method and apparatus for initializing gateway in device management system
CN112671554A (zh) 一种节点故障处理方法及相关装置
EP1569409A2 (en) Method for transferring a message file between a client and a server
CN110771117B (zh) 一种采用面向id的网络的会话层通信
CN107911462A (zh) 基于ActiveMQ的大批量数据同步方法
EP2944073A2 (en) Method and system for the handling of redundant long poll
CN114978743A (zh) 一种跨网络段的服务通信系统
CN107071038B (zh) 一种传输多媒体数据的方法及装置
WO2022083385A1 (en) Network nodes and methods therein for providing backup network function
KR20120052444A (ko) 모바일 메시징 서비스에서의 파일 전송을 지원하는 파일 전송 관리 시스템 및 파일 전송 관리 방법
KR20110074244A (ko) 통신 시스템에서 인스턴트 메시징 클라이언트 간 데이터 동기화 장치 및 방법
US7143313B2 (en) Support interface module bug submitter
CN114785695A (zh) 一种基于ZeroC ICE实现的高性能网络通信库
JP3709319B2 (ja) 端末からホストコンピュータへの再接続方法
KR101659579B1 (ko) 퍼블리쉬-서브스크라이브 방식을 이용한 서버 다중화 서비스 제공장치 및 그 방법

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