CN110581897A - 一种单向网络环境下实现两个系统之间数据交互的方法 - Google Patents
一种单向网络环境下实现两个系统之间数据交互的方法 Download PDFInfo
- Publication number
- CN110581897A CN110581897A CN201910942032.6A CN201910942032A CN110581897A CN 110581897 A CN110581897 A CN 110581897A CN 201910942032 A CN201910942032 A CN 201910942032A CN 110581897 A CN110581897 A CN 110581897A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- component
- active
- passive
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000003993 interaction Effects 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims description 6
- 239000011800 void material Substances 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种单向网络环境下实现两个系统之间数据交互的方法,涉及数据交互技术领域。数据交互前,主动方将被动方的身份标识登记在册,用于交互过程的合法性鉴别;被动方向调用方提供API接口并发布数据发送任务,虚拟数据发送组件收到任务后阻塞当前数据发送处理,并将任务发布到待处理任务表;主动方向被动方发起查询请求,合法性鉴别后将待处理任务表中的数据交付给查询请求,被动方通过HTTP响应获取待发送数据内容,由主动方处理并将结果提交至被动方;合法性鉴别后处理结果更新至待处理任务表,主动方检测到任务结果已提交时解除数据发送的阻塞,并在待处理任务表中取得响应数据,以作为API的返回值响应给调用方,完成数据交互。
Description
技术领域
本发明涉及数据交互技术领域,具体的说是一种单向网络环境下实现两个系统之间数据交互的方法。
背景技术
在大数据、云计算技术飞速发展的今天,越来越多的企业客户选择云服务满足管理诉求,由于云服务的数据都是保存在互联网之中,企业出于安全或保密、技术等原因无法将所有的管理性诉求都通过云服务方式实现,而在大数据时代,集中的数据才能发挥最大的价值,催生了各种云服务与本地应用之间的集成需求,由于本地应用的安全性及保密性要求,云服务几乎不可能访问得到本地应用,当存在云服务需要推送数据到本地应用的需求时就遇到了问题,因为本地应用无法提供服务供互联网上的云服务软件调用。
在网页应用中,通常可以使用Web Socket技术解决这类问题,但Web Socket是不同于HTTP协议的通讯协议,在建立连接时要求协议升级,在企业应用场景下,这些不明确的协议升级都可能无法通过防火墙,而且基于Web Socket的客户端只在Java Script脚本中有很好的支持,对于服务器到服务器的连接中几乎没有支持;在具有客户端的聊天软件中通常也具有类似的技术,但因版权要求都无法公开,使得这些技术在使用场景上有限,因此以上所述的解决方案都无法满足企业应用场景中的要求——能够使用通用协议在单向连接的网络环境下实现双向数据交互的要求,这成为了大数据、云计算时代亟需解决的问题之一。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种单向网络环境下实现两个系统之间数据交互的方法。
本发明的一种单向网络环境下实现两个系统之间数据交互的方法,解决上述技术问题采用的技术方案如下:
一种单向网络环境下实现两个系统之间数据交互的方法,该方法基于主动方、被动方和调用方。主动方指的是处于本地的应用程序,包括任务认领组件、任务结果提交组件、任务执行标准接口;被动方指的是处于云端的应用程序,包括虚拟数据发送组件、任务发布组件、任务结果处理组件。该方法的实现过程包括:
S10、在进行数据通讯前,主动方将需要进行通讯的被动方的身份标识登记在册;
S20、被动方的虚拟数据发送组件向调用方提供API接口,任务发布组件向虚拟数据发送组件发布数据发送任务,虚拟数据发送组件接收到数据发送任务后阻塞当前数据发送处理,并由主动方确认被动方身份,将数据发送任务发布到待处理任务表;
S30、主动方设定待接收数据查询频率,主动方的任务认领组件向被动方发起查询请求,被动方对主动方的身份进行合法性鉴别,鉴别通过后将待处理任务表中的数据交付给查询请求,被动方通过HTTP响应获取待发送数据内容,并通过主动方的任务执行标准接口将数据交给执行程序处理;
S40、执行程序处理接收数据并提交数据处理结果,主动方的任务执行标准接口得到该处理结果后向被动方发起另一HTTP请求,将该处理结果提交至被动方的任务结果处理组件;
S50、被动方对主动方的身份进行合法性鉴别,鉴别通过后将任务处理结果更新至待处理任务表,主动方的任务结果提交组件检测到任务结果已提交时解除数据发送的阻塞,并在待处理任务表中取得响应数据,以作为API的返回值响应给调用方,完成数据交互。
在步骤S10中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在被动方所属系统增加主动方信息登记记录表,主动方信息登记记录表包括且不限于包括标识字段、名称字段、类型字段;
主动方所属系统在进行数据发送任务查询时,需要上传标识,被动方根据标识返回待发送数据。
进一步的,在步骤S10中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在主动方信息登记记录表中增加主动方证书公钥字段,主动方进行数据发送任务查询时需要对上传的主动方标识进行数字证书签名,被动方接收到数据发送任务查询请求时,应通过主动方信息登记记录表中的公钥证书对数字签名进行验签操作。
进一步的,在步骤S20中,可以在虚拟数据发送组件的API中增加方法类型的入参,并在虚拟数据发送组件完成数据发送处理后调用该方法,使虚拟数据发送组件可以工作在异步方式,实现这一过程的具体操作步骤包括:
1)阻塞当前数据发送处理的虚拟数据发送组件API发送方法签名为:
public String send(String taskBody,
String publisherId,String executorId,String taskPriority
)
2)为上述方法签名增加一个方法类型的参数Invoker,去掉返回值,则方法签名更新为:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invokerinvoker)
3)在数据发布到待处理任务表后,虚拟数据发送组件的API即可退出,待任务结果处理组件检测到响应数据后调用invoker返回响应数据,即可实现异步数据发送。
更进一步的,在步骤S20中,还可以在虚拟数据发送组件的API中增加一个超时时间参数,在发布数据发送任务后,如果超过超时时间后任务还没有被领取,任务结果处理组件可将这条任务取消,具体实现方式如下:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invokerinvoker,int expireTime)
任务结果处理组件在超过超时时间后将任务取消,同步发送模式下可以取消阻塞,API返回交易超时错误;异步发送模式时可直接调用Invoker返回交易超时错误。
具体的,所涉及超时时间不应小于主动方设定的查询频率;
所涉及超时时间包括发送超时、认领超时和清理超时三种,其中,
所涉及认领超时由任务结果处理组件使用,当任务发布超过认领超时时限时,将数据发送任务设置为交易失败;
所涉及发送超时由虚拟数据发送组件使用,在任务发布后超过发送超时时限时,直接向调用方反馈交易超时;
所涉及清理超时是单独设置的一个定时任务,用于待处理任务表中的数据清理工作,当任务发布超过清理时限,由定时任务将其从任务表中清理。
进一步的,在步骤S30中,主动方设定待接收数据查询频率时,
主动方可以通过带有潮汐功能的智能算法设定一个频率较低的基础查询频率,当使用基础查询频率获取到任务后将立即发起另一个查询请求获取新的任务,直至没有可获取的任务查询频率再恢复至基础查询频率;
此时,在云服务运行方式下,需要在被动方增加并发数限制。
进一步的,在步骤S40中,主动方的执行程序处理接收数据并提交数据处理结果,这一过程中,如果遇到网络错误可进行重试,具体实现方式是:
在主动方的任务结果提交组件中增加参数MaxCommitRetryCount参数和RetryDelay参数;
在主动方提交任务失败后,使用提交Counter计数器记录提交次数,并在Counter值小于MaxCommitRetryCount在RetryDelay参数指定的时间间隔后再次提交任务;
在被动方的任务结果处理组件中,如果收到重复的任务提交或任务已过清理超时时限则可向主动方反馈提交成功。
优选的,所涉及被动方对主动方的身份采用非对称加密算法进行合法性鉴别,鉴别时要求主动方提供数据签名。
本发明的一种单向网络环境下实现两个系统之间数据交互的方法,与现有技术相比具有的有益效果是:
1)本发明使用HTTP协议承载,无需对网络设备进行特例设置即可实现两个系统之间的数据交互,在一些数据传输量较小的应用场景,可以考虑通过HTTP请求保持达到接近Web Socket的性能表现,同时,对主动方所属系统安全设置无侵入,避免了网络安全存在的隐患;
2)本发明采用的数据传输机制简单,容易实现,给业务应用提供了较高的可扩展性,还支持多主动方同时接入,尤其适用于云服务系统,可面向所有租户系统提供数据推送服务。
附图说明
附图1是本发明的方法流程图;
附图2是本发明各组件的连接框图;
附图3是本发明实施例一中表格3的其状态变迁示意图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。
实施例一:
结合附图1、2,本实施例提出一种单向网络环境下实现两个系统之间数据交互的方法,该方法基于主动方、被动方和调用方。主动方指的是处于本地的应用程序,包括任务认领组件、任务结果提交组件、任务执行标准接口;被动方指的是处于云端的应用程序,包括虚拟数据发送组件、任务发布组件、任务结果处理组件。
该方法的实现过程包括:
S10、在进行数据通讯前,主动方将需要进行通讯的被动方的身份标识登记在册。
在本实施例中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在被动方所属系统增加主动方信息登记记录表,主动方信息登记记录表包括且不限于包括标识字段、名称字段、类型字段,如表1所示:
表1:主动方信息登记记录表
序号 | 字段名称 | 字段标识 | 数据类型 |
1 | 内码 | id | VARchar(36) |
2 | 系统标识 | SysCode | VARchar(256) |
3 | 系统名称 | SysName | VARchar(256) |
4 | 创建时间 | CreatedTime | TIMESTAMP |
5 | 创建人 | Creator | VARchar(256) |
6 | 最后修改时间 | LastModifiedTime | TIMESTAMP |
7 | 最后修改人 | LastModifer | VARchar(256) |
主动方所属系统在进行数据发送任务查询时,需要上传标识,被动方根据标识返回待发送数据。相应的,进行数据发送任务查询时建立的发送任务表如表2所示:
表2:发送任务表
序号 | 字段名称 | 字段标识 | 数据类型 |
1 | 内码 | id | varchar(36) |
2 | 任务发布者 | PublisherID | VARchar(36) |
3 | 任务执行者 | ExecutorID | VARchar(36) |
4 | 消息内容 | TaskBody | ByteArray |
5 | 消息优先级 | TaskPriority | char(1) |
6 | 消息状态 | TaskState | char(1) |
7 | 响应消息内容 | TaskResp | ByteArray |
8 | 操作标识 | OPID | VARchar(40) |
9 | 可认领时间 | ClaimDeadline | TIMESTAMP |
10 | 可清理时间 | ReserveDeadline | TIMESTAMP |
11 | 创建时间 | CreatedTime | TIMESTAMP |
12 | 最后修改时间 | LastModifiedTime | TIMESTAMP |
其中ExecutorID是主动方信息登记记录表SysCode的外键,在任务认领时通过此字段过滤下发任务数据项。
在本实施例中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在主动方信息登记记录表中增加主动方证书公钥字段,主动方进行数据发送任务查询时需要对上传的主动方标识进行数字证书签名,被动方接收到数据发送任务查询请求时,应通过主动方信息登记记录表中的公钥证书对数字签名进行验签操作。
S20、被动方的虚拟数据发送组件向调用方提供API接口,任务发布组件向虚拟数据发送组件发布数据发送任务,虚拟数据发送组件接收到数据发送任务后阻塞当前数据发送处理,并由主动方确认被动方身份,将数据发送任务发布到待处理任务表。
在步骤S20中,可以在虚拟数据发送组件的API中增加方法类型的入参,并在虚拟数据发送组件完成数据发送处理后调用该方法,使虚拟数据发送组件可以工作在异步方式,实现这一过程的具体操作步骤包括:
1)阻塞当前数据发送处理的虚拟数据发送组件API发送方法签名为:
public String send(String taskBody,
String publisherId,String executorId,String taskPriority
)
2)为上述方法签名增加一个方法类型的参数Invoker,去掉返回值,则方法签名更新为:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invokerinvoker)
3)在数据发布到待处理任务表后,虚拟数据发送组件的API即可退出,待任务结果处理组件检测到响应数据后调用invoker返回响应数据,即可实现异步数据发送。
基于前述陈述,在本实施例中,虚拟数据发送组件API的发送方法具体定义如下:
这一过程中,增加了优先级选项,在任务发布时可以指定Integer类型的优先级,在进行任务认领时可根据优先级检索任务并下发。虚拟数据发送组件接收到数据发送任务后,会阻塞当前数据发送处理,并由主动方确认被动方身份,将数据发送任务发布到待处理任务表,通过向“发送任务表”插入executorId实现。
在本实施例中,还可以在虚拟数据发送组件的API中增加一个超时时间参数,在发布数据发送任务后,如果超过超时时间后任务还没有被领取,任务结果处理组件可将这条任务取消,具体实现方式如下:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invokerinvoker,int expireTime)
任务结果处理组件在超过超时时间后将任务取消,同步发送模式下可以取消阻塞,API返回交易超时错误;异步发送模式时可直接调用Invoker返回交易超时错误。
在本实施例中,所涉及超时时间不应小于主动方设定的查询频率。
所涉及超时时间包括发送超时、认领超时和清理超时三种,其中,
所涉及认领超时由任务结果处理组件使用,当任务发布超过认领超时时限时,将数据发送任务设置为交易失败;
所涉及发送超时由虚拟数据发送组件使用,在任务发布后超过发送超时时限时,直接向调用方反馈交易超时;
所涉及清理超时是单独设置的一个定时任务,用于待处理任务表中的数据清理工作,当任务发布超过清理时限,由定时任务将其从任务表中清理。
在本实施例中,三种超时时间的逻辑大小关系应满足如下设定:
认领超时<发送超时<清理超时,清理时间建议设置为发送超时的2倍以上。
在任务发布组件中,还可以增加状态机,用于管理任务的处理,通常状态机包含以下内容,如表格3所示
表格3
必需的状态组成,其状态变迁如附图3所示。
S30、主动方设定待接收数据查询频率,主动方的任务认领组件向被动方发起查询请求,被动方对主动方的身份进行合法性鉴别,鉴别通过后将待处理任务表中的数据交付给查询请求,被动方通过HTTP响应获取待发送数据内容,并通过主动方的任务执行标准接口将数据交给执行程序处理。
在步骤S30中,主动方设定待接收数据查询频率时,
主动方可以通过带有潮汐功能的智能算法设定一个频率较低的基础查询频率,当使用基础查询频率获取到任务后将立即发起另一个查询请求获取新的任务,直至没有可获取的任务查询频率再恢复至基础查询频率;
具体执行时,主动方将设定的待接收数据查询频率保存在reconnSpan参数中,在能够申领到数据发送任务时将立即启动后一次申领,如果无任务或任务申领失败将在reconnSpan参数指定的延时后再次尝试。具体执行代码如下:
随后,主动方的任务认领组件向被动方发起查询请求,被动方对主动方的身份采用非对称加密算法进行合法性鉴别,鉴别时要求主动方提供数据签名,数据报格式如下:
对除sign节点以外所有数据报内容进行签名,将签名结果放在Sign节点中。
随后,被动方通过HTTP响应获取待发送数据内容,通过任务执行标准接口将数据交给执行程序处理,在执行步骤S40。
S40、执行程序处理接收数据并提交数据处理结果,主动方的任务执行标准接口得到该处理结果后向被动方发起另一HTTP请求,将该处理结果提交至被动方的任务结果处理组件。具体执行代码为:
主动方的执行程序处理接收数据并提交数据处理结果,这一过程中,如果遇到网络错误可进行重试,具体实现方式是:
在主动方的任务结果提交组件中增加参数MaxCommitRetryCount参数和RetryDelay参数;
在主动方提交任务失败后,使用提交Counter计数器记录提交次数,并在Counter值小于MaxCommitRetryCount在RetryDelay参数指定的时间间隔后再次提交任务;
在被动方的任务结果处理组件中,如果收到重复的任务提交或任务已过清理超时时限则可向主动方反馈提交成功。
S50、被动方对主动方的身份采用非对称加密算法进行合法性鉴别,鉴别时要求主动方提供数据签名,鉴别通过后将任务处理结果更新至待处理任务表,主动方的任务结果提交组件检测到任务结果已提交时解除数据发送的阻塞,并在待处理任务表中取得响应数据,以作为API的返回值响应给调用方,完成数据交互。
此时,在云服务运行方式下,需要在被动方增加并发数限制。
Claims (9)
1.一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,该方法基于主动方、被动方和调用方;
所述主动方指的是处于本地的应用程序,包括任务认领组件、任务结果提交组件、任务执行标准接口,
所述被动方指的是处于云端的应用程序,包括虚拟数据发送组件、任务发布组件、任务结果处理组件;
该方法的实现过程包括:
S10、在进行数据通讯前,主动方将需要进行通讯的被动方的身份标识登记在册;
S20、被动方的虚拟数据发送组件向调用方提供API接口,任务发布组件向虚拟数据发送组件发布数据发送任务,虚拟数据发送组件接收到数据发送任务后阻塞当前数据发送处理,并由主动方确认被动方身份,将数据发送任务发布到待处理任务表;
S30、主动方设定待接收数据查询频率,主动方的任务认领组件向被动方发起查询请求,被动方对主动方的身份进行合法性鉴别,鉴别通过后将待处理任务表中的数据交付给查询请求,被动方通过HTTP响应获取待发送数据内容,并通过主动方的任务执行标准接口将数据交给执行程序处理;
S40、执行程序处理接收数据并提交数据处理结果,主动方的任务执行标准接口得到该处理结果后向被动方发起另一HTTP请求,将该处理结果提交至被动方的任务结果处理组件;
S50、被动方对主动方的身份进行合法性鉴别,鉴别通过后将任务处理结果更新至待处理任务表,主动方的任务结果提交组件检测到任务结果已提交时解除数据发送的阻塞,并在待处理任务表中取得响应数据,以作为API的返回值响应给调用方,完成数据交互。
2.根据权利要求1所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S10中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在被动方所属系统增加主动方信息登记记录表,主动方信息登记记录表包括且不限于包括标识字段、名称字段、类型字段;
主动方所属系统在进行数据发送任务查询时,需要上传标识,被动方根据标识返回待发送数据。
3.根据权利要求2所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S10中,主动方将需要进行通讯的被动方的身份标识登记在册,执行这一过程时,需要:
在主动方信息登记记录表中增加主动方证书公钥字段,主动方进行数据发送任务查询时需要对上传的主动方标识进行数字证书签名,被动方接收到数据发送任务查询请求时,应通过主动方信息登记记录表中的公钥证书对数字签名进行验签操作。
4.根据权利要求1所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S20中,可以在虚拟数据发送组件的API中增加方法类型的入参,并在虚拟数据发送组件完成数据发送处理后调用该方法,使虚拟数据发送组件可以工作在异步方式,实现这一过程的具体操作步骤包括:
1)阻塞当前数据发送处理的虚拟数据发送组件API发送方法签名为:
public String send(String taskBody,
String publisherId,String executorId,String taskPriority)
2)为上述方法签名增加一个方法类型的参数Invoker,去掉返回值,则方法签名更新为:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invoker invoker)
3)在数据发布到待处理任务表后,虚拟数据发送组件的API即可退出,待任务结果处理组件检测到响应数据后调用invoker返回响应数据,即可实现异步数据发送。
5.根据权利要求4所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S20中,还可以在虚拟数据发送组件的API中增加一个超时时间参数,在发布数据发送任务后,如果超过超时时间后任务还没有被领取,任务结果处理组件可将这条任务取消,具体实现方式如下:
public void send(String taskBody,
String publisherId,String executorId,String taskPriority,Invoker invoker,int expireTime)
任务结果处理组件在超过超时时间后将任务取消,同步发送模式下可以取消阻塞,API返回交易超时错误;异步发送模式时可直接调用Invoker返回交易超时错误。
6.根据权利要求5所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,所述超时时间不应小于主动方设定的查询频率;
所述超时时间包括发送超时、认领超时和清理超时三种,其中,
所述认领超时由任务结果处理组件使用,当任务发布超过认领超时时限时,将数据发送任务设置为交易失败;
所述发送超时由虚拟数据发送组件使用,在任务发布后超过发送超时时限时,直接向调用方反馈交易超时;
所述清理超时是单独设置的一个定时任务,用于待处理任务表中的数据清理工作,当任务发布超过清理时限,由定时任务将其从任务表中清理。
7.根据权利要求1所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S30中,主动方设定待接收数据查询频率时,
主动方可以通过带有潮汐功能的智能算法设定一个频率较低的基础查询频率,当使用基础查询频率获取到任务后将立即发起另一个查询请求获取新的任务,直至没有可获取的任务查询频率再恢复至基础查询频率;
此时,在云服务运行方式下,需要在被动方增加并发数限制。
8.根据权利要求6所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,在步骤S40中,主动方的执行程序处理接收数据并提交数据处理结果,这一过程中,如果遇到网络错误可进行重试,具体实现方式是:
在主动方的任务结果提交组件中增加参数MaxCommitRetryCount参数和RetryDelay参数;
在主动方提交任务失败后,使用提交Counter计数器记录提交次数,并在Counter值小于MaxCommitRetryCount在RetryDelay参数指定的时间间隔后再次提交任务;
在被动方的任务结果处理组件中,如果收到重复的任务提交或任务已过清理超时时限则可向主动方反馈提交成功。
9.根据权利要求1所述的一种单向网络环境下实现两个系统之间数据交互的方法,其特征在于,被动方对主动方的身份采用非对称加密算法进行合法性鉴别,鉴别时要求主动方提供数据签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942032.6A CN110581897A (zh) | 2019-09-30 | 2019-09-30 | 一种单向网络环境下实现两个系统之间数据交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942032.6A CN110581897A (zh) | 2019-09-30 | 2019-09-30 | 一种单向网络环境下实现两个系统之间数据交互的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110581897A true CN110581897A (zh) | 2019-12-17 |
Family
ID=68814129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910942032.6A Pending CN110581897A (zh) | 2019-09-30 | 2019-09-30 | 一种单向网络环境下实现两个系统之间数据交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110581897A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003384A (zh) * | 2021-11-01 | 2022-02-01 | 北京深演智能科技股份有限公司 | 任务管理的方法、装置和设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420847A (zh) * | 2010-10-20 | 2012-04-18 | 微软公司 | 在在线服务中以高可用性路由通信 |
CN104113551A (zh) * | 2014-07-28 | 2014-10-22 | 百度在线网络技术(北京)有限公司 | 一种平台授权方法、平台服务端及应用客户端和系统 |
CN104753674A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种应用身份的验证方法和设备 |
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
CN106357601A (zh) * | 2016-08-15 | 2017-01-25 | 北京奇虎科技有限公司 | 数据访问方法、装置及系统 |
CN107911344A (zh) * | 2017-10-28 | 2018-04-13 | 杭州安恒信息技术有限公司 | 一种云平台的安全对接方法 |
CN108322471A (zh) * | 2016-05-11 | 2018-07-24 | 甲骨文国际公司 | 多租户身份和数据安全性管理云服务 |
CN108833405A (zh) * | 2018-06-13 | 2018-11-16 | 深圳市云识科技有限公司 | 一种智能摄像表的云识别服务处理平台及方法 |
CN109314704A (zh) * | 2016-09-14 | 2019-02-05 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的单点登录和单点注销功能 |
US20190096005A1 (en) * | 2013-09-23 | 2019-03-28 | Xero Limited | Systems and methods of access control and system integration |
-
2019
- 2019-09-30 CN CN201910942032.6A patent/CN110581897A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420847A (zh) * | 2010-10-20 | 2012-04-18 | 微软公司 | 在在线服务中以高可用性路由通信 |
US20190096005A1 (en) * | 2013-09-23 | 2019-03-28 | Xero Limited | Systems and methods of access control and system integration |
CN104753674A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种应用身份的验证方法和设备 |
CN104113551A (zh) * | 2014-07-28 | 2014-10-22 | 百度在线网络技术(北京)有限公司 | 一种平台授权方法、平台服务端及应用客户端和系统 |
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
CN108322471A (zh) * | 2016-05-11 | 2018-07-24 | 甲骨文国际公司 | 多租户身份和数据安全性管理云服务 |
CN106357601A (zh) * | 2016-08-15 | 2017-01-25 | 北京奇虎科技有限公司 | 数据访问方法、装置及系统 |
CN109314704A (zh) * | 2016-09-14 | 2019-02-05 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的单点登录和单点注销功能 |
CN107911344A (zh) * | 2017-10-28 | 2018-04-13 | 杭州安恒信息技术有限公司 | 一种云平台的安全对接方法 |
CN108833405A (zh) * | 2018-06-13 | 2018-11-16 | 深圳市云识科技有限公司 | 一种智能摄像表的云识别服务处理平台及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003384A (zh) * | 2021-11-01 | 2022-02-01 | 北京深演智能科技股份有限公司 | 任务管理的方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715537B2 (en) | Systems and methods for event driven object management and distribution among multiple client applications | |
WO2016127793A1 (zh) | 消息发送方法、装置、系统和服务器 | |
US7200636B2 (en) | Method and apparatus for applying personalized rules to e-mail messages at an e-mail server | |
US6336135B1 (en) | Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client | |
CN110601952A (zh) | 多渠道消息通知发送方法和装置 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
US20070011191A1 (en) | Application management for utilizing a replication engine of a Web-AP server to execute SIP replication | |
CN108390950A (zh) | 一种消息推送方法、装置及设备 | |
JP2013534675A (ja) | 複数のネットワークリソースのプロビジョニング | |
CN112612629A (zh) | 一种组件式的数据接口实现方法与系统 | |
CN111382985B (zh) | 待办消息集成推送系统和工作方法 | |
CN111338906B (zh) | 终端设备、边缘节点及基于区块链的应用监管方法和系统 | |
JP4205323B2 (ja) | 配信システム、配信サーバとその配信方法、配信プログラム | |
JPH11328066A (ja) | ネットワ―ク管理演算のトランザクション支援のための装置、方法及びコンピュ―タプログラム製品 | |
CN113220435A (zh) | 任务处理方法及相关产品 | |
WO2017000572A1 (zh) | 基于因特网内容适配协议的通信方法、客户端和服务器 | |
WO2024146285A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN110581897A (zh) | 一种单向网络环境下实现两个系统之间数据交互的方法 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
US7614047B1 (en) | Change indication for a service offering | |
CN117579638A (zh) | 双端数据同步框架实现方法、装置、系统及电子设备 | |
US8826026B2 (en) | Systems and methods for tracking electronic files in computer networks using electronic signatures | |
CN111866544A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US10846420B2 (en) | Domain controller agent subscription to kerberos events for reliable transparent identification | |
CN116095081A (zh) | 基于区块链系统的事件处理方法及装置、设备、介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191217 |
|
RJ01 | Rejection of invention patent application after publication |