CN117714218A - 跨网络服务调用方法及装置 - Google Patents
跨网络服务调用方法及装置 Download PDFInfo
- Publication number
- CN117714218A CN117714218A CN202410168982.9A CN202410168982A CN117714218A CN 117714218 A CN117714218 A CN 117714218A CN 202410168982 A CN202410168982 A CN 202410168982A CN 117714218 A CN117714218 A CN 117714218A
- Authority
- CN
- China
- Prior art keywords
- state
- task
- request
- file
- service
- 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 80
- 238000012545 processing Methods 0.000 claims abstract description 101
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000003287 optical effect Effects 0.000 claims abstract description 24
- 230000003993 interaction Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 238000002955 isolation Methods 0.000 abstract description 12
- 230000004044 response Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 239000000243 solution Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明提供一种跨网络服务调用方法及装置,属于数据安全技术领域,该方法包括:在第一网络成功受理终端设备的请求后建立任务,将任务的状态设置为第一状态;定时根据状态为第一状态的任务对应的请求,生成请求文件,将任务的状态更新为第二状态,基于光闸的文件摆渡策略将状态为第二状态的任务对应的请求文件摆渡至第二网络;定时接收第二网络基于文件摆渡策略摆渡的回执文件,对回执文件进行解析得到返回数据,将任务的状态更新为第三状态,定时根据状态为第三状态的任务对应的返回数据和任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。本发明支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种跨网络服务调用方法及装置。
背景技术
数据安全是网络空间安全的基础。在涉及跨网络数据交换,特别是涉密网络和非涉密网络数据交换时,通常使用比物理防火墙更安全的光闸设备。光闸设备通过切断网络之间的物理通路来隔离网络,基于文件摆渡策略的私有协议,将数据以文件的形式跨网络传输来完成数据同步,从而达到物理上隔离、逻辑上连通的效果。
然而,文件摆渡策略存在局限性。它常用于文件同步,支持数据归档场景下的数据同步,例如附件传输、交易结果同步等,难以支撑业务流转场景的需求。通常借助服务调用方式来驱动业务流转,但现有的服务调用方法以网络连通为前提,不支持隔离环境的服务调用,因此在涉密网络无法使用。
发明内容
本发明提供一种跨网络服务调用方法及装置,用以解决现有技术中光闸文件摆渡策略下,不支持跨网络服务调用的缺陷,实现网络隔离情况下通过任务状态进行业务流转,保证数据安全传输。
本发明提供一种跨网络服务调用方法,应用于第一网络,包括:
在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
根据本发明提供的一种跨网络服务调用方法,所述定时根据所述状态为第一状态的任务对应的请求,生成请求文件,包括:
将所述任务的状态、数据交互方向、请求和所述请求的业务类型保存至第一数据库中;
定时从所述第一数据库中查找所述状态为第一状态且所述数据交互方向为请求发送的任务对应的请求和所述请求的业务类型;
根据查找的所述请求和所述请求的业务类型生成请求报文,将所述请求报文保存至第一文本文件,得到所述请求文件。
根据本发明提供的一种跨网络服务调用方法,所述定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑,包括:
将所述返回数据保存至所述第一数据库中;
定时从所述第一数据库中查找所述状态为第三状态且所述数据交互方向为请求发送的任务对应的返回数据和请求的业务类型;
将查找的所述返回数据反序列化为返回对象,根据查找的所述业务类型获取对应的服务处理类;
根据所述返回对象和所述服务处理类,调用第一接口执行第一处理逻辑。
本发明还提供一种跨网络服务调用方法,应用于第二网络,包括:
定时接收第一网络基于光闸的文件摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
根据本发明提供的一种跨网络服务调用方法,所述定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,包括:
将所述请求数据和所述任务的数据交互方向保存至第二数据库中;
定时从所述第二数据库中查找所述状态为第一状态且所述数据交互方向为请求接收的任务对应的请求数据和所述任务对应的业务类型;
将查找的所述请求数据反序列化为请求对象,根据查找的所述请求的业务类型获取所述业务类型对应的服务处理类;
根据所述请求对象和所述服务处理类,调用第二接口执行第二处理逻辑。
根据本发明提供的一种跨网络服务调用方法,所述定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,包括:
将所述执行结果保存至所述第二数据库中;
定时从所述第二数据库中查找所述状态为第二状态且所述数据交互方向为请求接收的任务对应的执行结果;
根据查找的所述执行结果生成回执报文,将所述回执报文保存至第二文本文件,得到所述回执文件。
本发明还提供一种跨网络服务调用装置,包括:
服务受理模块,用于在第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
第一文件创建模块,用于定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
第一服务调用模块,用于定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
本发明还提供一种跨网络服务调用装置,包括:
文件传输模块,用于定时接收第一网络基于光闸的文件摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
第二服务调用模块,用于定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
第二文件创建模块,用于定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述跨网络服务调用方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述跨网络服务调用方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述跨网络服务调用方法。
本发明提供的跨网络服务调用方法及装置,通过采用异步模式下的多阶段处理机制,在跨网络服务调用的过程中,将服务请求和服务响应任务化,对任务的状态进行更新,根据任务状态的流转,异步调用服务,并结合文件摆渡策略重构服务调用流程,支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的跨网络服务调用方法的流程示意图之一;
图2是本发明提供的跨网络服务调用方法中请求发送状态流转示意图;
图3是本发明提供的跨网络服务调用方法中请求接收状态流转示意图;
图4是本发明提供的跨网络服务调用方法中第一网络发起异步请求的流程示意图;
图5是本发明提供的跨网络服务调用方法中第二网络发起异步回执的流程示意图;
图6是本发明提供的跨网络服务调用方法的流程示意图之二;
图7是本发明提供的跨网络服务调用装置的结构示意图之一;
图8是本发明提供的跨网络服务调用装置的结构示意图之二;
图9是本发明提供的跨网络服务调用装置的结构示意图之三;
图10是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的一种跨网络服务调用方法,应用于第一网络,包括:
步骤101,在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
第一网络为发送请求的网络。传统的异步服务调用流程包括请求、受理、执行和响应4阶段。本实施例在跨网络文件摆渡策略下将异步服务调用流程扩展为请求、受理请求任务、文件处理、执行、受理响应任务、文件处理和响应共7个阶段进行处理。其中文件处理可包括文件创建、文件传输和文件解析3个步骤。这3个步骤自动执行,对业务系统透明。
本实施例通过任务状态控制服务调用流程,并识别每次服务调用所处的执行阶段。服务调用执行时,对请求发送和请求接收有不同的处理流程,因此请求发送和请求接收的状态流转不同。
如图2所示,对于请求发送,当前网络成功受理请求后将建立任务,并将任务状态设置为第一状态,即初始化状态;请求文件创建完成后,任务状态则被更新为第二状态,即处理中状态;接收到对端网络回执报文后,任务状态变更为第三状态,即已回执状态;服务调用执行完成后,任务状态变更为第四状态,即已完成状态。
如图3所示,对于请求接收,当前网络接收到对端网络发送的请求报文后,将任务设置为第一状态,即初始化状态;服务调用执行完成后,更新任务状态为第二状态,即处理中状态;回执文件创建完成后,任务状态更新为第四状态,即已完成状态。
第一网络受理发起远程服务调用时的流程转换控制,根据业务类型受理终端设备发送的服务调用请求。根据请求建立任务,并将任务和请求的信息进行存储,从而将请求信息转换为服务调用任务记录。在建立任务后,将任务的状态设置为第一状态,即初始化状态。
步骤102,定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
根据是否实时反馈可将服务调用分为同步调用和异步调用两种模式。本实施例基于文件摆渡策略实现服务调用,不具备同步调用的条件,因此采用的是异步调用模式。
由于文件摆渡策略摆渡文本文件,因此第一网络定时读取状态为初始化的任务对应的请求,根据请求的相关信息生成请求报文,将请求报文转换为文本文件形式,得到请求文件。在请求文件创建完成后,将任务的状态更新为第二状态,即处理中状态。
本实施例中的文件摆渡策略可为光闸设备使用的光闸文件摆渡策略。光闸设备通过链路阻断、协议转换等方式实现跨网络数据交换,支持HTTP(Hypertext TransferProtocol,超文本传输协议)、POP3(Post Office Protocol Version 3,邮局协议版本3)、NFS(Network File System,网络文件系统)等应用协议。在高密级网络隔离环境下,往往要求切断涉密网络和非涉密网络之间的物理通路来隔离网络,可以基于光闸文件摆渡策略的私有协议,建立两个单向通道,将数据以文件的形式跨网络传输来完成数据同步,从而达到物理上隔离、逻辑上连通的效果。
将请求文件存储于第一网络的文件服务器文件摆出目录,通过光闸摆渡功能将请求文件摆渡至第二网络的文件服务器文件摆入目录中。
第二网络定时任务读取摆入的请求文件后,同步将任务的状态设置为初始化状态。对每行数据进行报文解析,然后保存至数据库的任务记录表。
第二网络通过定时任务顺序读取任务记录表中状态为初始化的任务对应的请求数据,将请求数据反序列化为请求对象,同时根据业务类型查找到对应的服务处理类并触发本地方法,调用请求接口执行业务逻辑后再将返回对象进行序列化,然后更新至任务记录表中。在服务调用执行完成后,将任务的状态更新为处理中。至此完成了从第一网络至第二网络的服务异步请求,具体流程如图4所示。
第二网络根据服务调用执行结果,生成回执文件,并将回执文件基于文件摆渡策略摆渡至第一网络。
步骤103,定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
第一网络读取摆入的回执文件,将任务的状态更新为第三状态,即已回执。对回执文件的每行数据解析后得到返回数据,可根据唯一的任务编号将返回数据更新至数据库的原任务记录表中。
第一网络通过定时任务顺序读取任务记录表中状态为已回执的任务对应的返回数据,将返回数据反序列化为返回对象。根据业务类型查找到对应的服务处理类并触发本地方法,调用第一接口(回执接口)执行第一处理逻辑,第一处理逻辑为后置处理逻辑。至此完成了服务异步响应,实现从第二网络回执至第一网络,具体流程如图5所示。
本实施例通过采用异步模式下的多阶段处理机制,在跨网络服务调用的过程中,将服务请求和服务响应任务化,对任务的状态进行更新,根据任务状态的流转,异步调用服务,并结合文件摆渡策略重构服务调用流程,支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
在上述实施例的基础上,本实施例中所述定时根据所述状态为第一状态的任务对应的请求,生成请求文件,包括:
将所述任务的状态、数据交互方向、请求和所述请求的业务类型保存至第一数据库中;
定时从所述第一数据库中查找所述状态为第一状态且所述数据交互方向为请求发送的任务对应的请求和所述请求的业务类型;
根据查找的所述请求和所述请求的业务类型生成请求报文,将所述请求报文保存至第一文本文件,得到所述请求文件。
在由本端发起服务调用请求时,数据交互方向为请求发送;在由对端发起服务调用请求时,数据交互方向为请求接收。根据数据交互方向将本端发起服务调用请求时的数据与对端发起服务调用请求时的数据进行区分。
在任务的状态为初始化状态,且数据交互方向为请求发送的情况下,说明本端发起服务调用请求,且任务已建立。
定时从第一数据库中查找任务的状态为初始化状态,且数据交互方向为请求发送的任务对应的请求和业务类型。根据请求和请求的业务类型生成请求报文。
本实施例对服务调用进行多阶段处理,通过数据存储、状态流转、数据交换和服务调用,将跨网络异步调用流程进行整体重构,实现基于文件的跨网络服务调用。
在进行数据存储时,使用数据库和文本文件进行数据存储。其中,在数据库中建立任务表并存储服务调用的数据,文本文件用于存储报文传输数据,文本文件中的数据是数据库中数据的一部分。
数据库任务表中每一行记录存储一次服务调用任务的交换数据,包括报文数据(请求数据和回执数据)以及任务编号、任务状态、执行时间、业务类型、数据交换方向等关键要素。
这些关键要素都有着明确的作用,比如任务编号用于标识服务调用请求的唯一性;任务状态用于业务流转,驱动业务执行;执行时间记录任务受理和响应时间;业务类型用于区分服务类型,使任务与执行服务关联绑定;本端数据交换方向用于区分发起服务调用请求和接收服务调用请求时的数据,文本文件中以行为单位存储每次请求或者回执的报文传输数据。
对于数据交换与服务调用,基于文本文件将任务数据跨网交换,文件交换到对端网络并解析还原为服务调用任务,然后根据任务类型调用对应的本地方法实现服务调用,最后返回执行结果。
在上述实施例的基础上,本实施例中所述定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑,包括:
将所述返回数据保存至所述第一数据库中;
定时从所述第一数据库中查找所述状态为第三状态且所述数据交互方向为请求发送的任务对应的返回数据和请求的业务类型;
将查找的所述返回数据反序列化为返回对象,根据查找的所述业务类型获取所述业务类型对应的服务处理类;
根据所述返回对象和所述服务处理类,调用第一接口执行第一处理逻辑。
第一网络在收到第二网络的回执文件后,将回执文件进行解析后保存至第一数据库中。
在任务的状态为已回执状态,且数据交互方向为请求发送的情况下,说明本端发起服务调用请求,且已收到回执文件。
第一网络定时从第一数据库中查找任务的状态为已回执状态,且数据交互方向为请求发送的任务对应的返回数据和请求的业务类型。将返回数据反序列化为返回对象,根据业务类型查找到对应的服务处理类并触发本地方法,调用回执接口执行第一处理逻辑。
下面结合图6描述本发明的一种跨网络服务调用方法,应用于第二网络,包括:
步骤601,定时接收第一网络基于光闸的文件摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
第一状态为初始化状态。
步骤602,定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
如图4所示,第二网络通过定时任务顺序读取任务记录表中状态为初始化的任务对应的请求数据,将请求数据反序列化为请求对象,同时根据业务类型查找到对应的服务处理类并触发本地方法,调用请求接口执行业务逻辑后再将返回对象进行序列化,然后更新至任务记录表中。在服务调用执行完成后,将任务的状态更新为第二状态,即处理中。至此完成了从第一网络至第二网络的服务异步请求。
步骤603,定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
如图5所示,第二网络通过定时任务定时顺序读取任务记录表中状态为处理中的记录,根据记录中的服务调用执行结果转换为回执报文并加密后保存至文本文件,存储于文件服务器文件摆出目录,通过光闸摆渡功能将回执文件摆渡至第一网络的文件服务器文件摆入目录。
本实施例采用异步模式下的多阶段处理机制,在跨网络服务调用的过程中,将服务请求和服务响应任务化,对任务的状态进行更新,根据任务状态的流转,异步调用服务,并结合文件摆渡策略重构服务调用流程,支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
在上述实施例的基础上,本实施例中所述定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,包括:
将所述请求数据和所述任务的数据交互方向保存至第二数据库中;
定时从所述第二数据库中查找所述状态为第一状态且所述数据交互方向为请求接收的任务对应的请求数据和所述任务对应的业务类型;
将查找的所述请求数据反序列化为请求对象,根据查找的所述请求的业务类型获取所述业务类型对应的服务处理类;
根据所述请求对象和所述服务处理类,调用第二接口执行第二处理逻辑。
由对端发起服务调用请求,数据交互方向为请求接收。根据数据交互方向将本端发起服务调用请求时的数据与对端发起服务调用请求时的数据进行区分。
第二接口为请求接口,第二处理逻辑为业务逻辑,通过执行第二处理逻辑获取对端网络请求的业务数据。
第二网络通过定时任务顺序读取任务记录表中数据交互方向为请求接收且状态为初始化的请求数据,将请求数据反序列化为请求对象,同时根据业务类型查找到对应的服务处理类并触发本地方法,调用请求接口执行业务逻辑后再将返回对象进行序列化,然后更新至任务记录表中。
在上述实施例的基础上,本实施例中所述定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,包括:
将所述执行结果保存至所述第二数据库中;
定时从所述第二数据库中查找所述状态为第二状态且所述数据交互方向为请求接收的任务对应的执行结果;
根据查找的所述执行结果生成回执报文,将所述回执报文保存至第二文本文件,得到所述回执文件。
第二网络通过定时任务定时顺序读取任务记录表中状态为处理中的请求接收记录,根据请求接收记录中的服务调用执行结果转换为回执报文并加密后保存至文本文件,存储于文件服务器文件摆出目录,通过光闸摆渡功能将回执文件摆渡至第一网络的文件服务器文件摆入目录。
下面对本发明提供的跨网络服务调用装置进行描述,下文描述的跨网络服务调用装置与上文描述的跨网络服务调用方法可相互对应参照。
如图7所示,该装置包括服务受理模块701、第一文件创建模块702和第一服务调用模块703,其中:
服务受理模块701用于在第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
第一文件创建模块702用于定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
第一服务调用模块703用于定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
本实施例采用异步模式下的多阶段处理机制,在跨网络服务调用的过程中,将服务请求和服务响应任务化,对任务的状态进行更新,根据任务状态的流转,异步调用服务,并结合文件摆渡策略重构服务调用流程,支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
如图8所示,跨网络服务调用装置以服务的形式部署至需跨网访问的两个网络中,包括:
服务注册模块,用于将业务类型与服务处理类进行绑定,通过业务类型即能查找到对应的服务处理类;
服务受理模块,用于受理发起远程服务调用时的流程转换控制,根据业务类型受理服务调用请求,将请求信息转换为服务调用任务记录;
服务调用模块,用于定时从任务记录表中抽取初始状态的请求接收记录以及已回执状态的请求发送记录,根据业务类型从服务注册模块中找到对应的服务处理类,对于请求接收记录,触发处理类中的请求方法,对于请求发送回执记录,则触发处理类中的回执方法;
数据存储模块,用于保存服务调用过程中产生的请求报文和回执报文,并通过记录流水号、任务状态满足不同情况下的服务处理需求;
数据安全模块,为传输数据提供数字签名、验签和数据加密、解密服务。采用先签名后加密的方式,保障数据的完整度和传输的安全性,可有效防止数据被篡改并避免数据泄露;同时,在数据解密后需对报文进行安全扫描,避免混入跨站脚本、SQL(StructuredQuery Language,结构化查询语言)注入脚本等恶意数据;
文件创建模块,用于定时从任务记录表中抽取初始状态的请求发送记录以及处理中状态的请求接收记录,将抽取的数据经由数据安全模块处理后以数据行的形式写入请求文件或回执文件中,并存储至文件摆出目录;
文件解析模块,用于定时从文件摆入目录中读取回执文件,逐行读取经由数据安全模块处理后的数据行,并存储于数据库任务记录表中;
文件传输模块,基于光闸文件摆渡功能,将承载了报文数据的文本文件在不同网络之间传递;
文件清理模块,用于定期清理文件摆入、摆出目录中产生的文件,避免存储容量超过限制。
本实施例提出一种文件交换场景中数据驱动和文件处理的模块化设计方法,围绕数据和文件的处理流程构造处理模块,将服务调用转换为任务调度和文件管理,并依托任务状态变化推进业务流转,从而避免了模块间耦合度高、扩展性差的问题,同时也能更好的适配文件传输实时性不强的特性。
本实施例还提供了一套异步调用服务规范,包括:
服务定义,定义一个抽象服务类,包括业务类型定义、任务执行、任务回执;定义一个服务注册类,用于实现服务类与具体业务的绑定;
数据任务定义,将传统的服务调用模式转换为任务执行模式,定义数据任务并存放于数据库中,数据库中每一条数据代表一次服务调用的请求和回执,包括了任务编号、访问方向、访问源、请求报文、回执报文、任务状态、任务创建时间、任务更新时间等,为避免任务执行时乱序,任务编号需保证有序,以时间+业务类型+顺序号的格式进行定义,其中时间包含年月日时分秒,业务类型为枚举值,顺序号为6位,通过自增的方式实现;
数据交换格式,以轻量级的JSON格式作为数据交换格式,实现对请求对象和返回对象的序列化和反序列化,发起请求和调用回执时进行序列化操作,在调用服务接口时进行反序列化操作;
数字签名验签及数据加解密,采用SM2国密算法对传输数据进行签名,然后再采用SM4国密算法对签名后的数据进行加密;解密成功后再进行签名验证,无误后才能执行数据处理操作;
文件规范,统一采用文本格式文件存储交换的报文信息,文件名命名格则采用时间+顺序号的格式,可清晰的识别文件创建时间以及文件顺序,其中时间包含年月日时分秒,顺序号为6位,通过自增的方式实现;
光闸摆渡策略,采用双单向摆渡策略,两个网络中分别配置摆出和摆入目录,摆渡频率可配置;访问权限采用最小化原则进行设置,严格控制授权给摆渡任务的权限;
定时任务执行规则,每个网络中都包括3个定时任务,分别用于文件创建、文件解析和服务调度执行,3个定时任务彼此解耦,定时任务执行频率可根据业务情况动态调整。在执行文件创建和服务调度两个定时任务时,以任务编号升序的方式查询任务列表,在执行文件解析定时任务时以文件名升序顺序解析文件,以此保证任务执行的顺序性。
并发执行规范,为了确保每类业务顺序执行,同时提高任务执行并发度,将任务根据业务类型分组,每组任务通过线程池执行器执行。
本实施例提出一种在网络隔离环境下基于文件摆渡策略的异步调用服务规范,从技术视角进行标准化约定,降低了对业务场景的依赖,因而更具备普适性。
下面对本发明提供的另一跨网络服务调用装置进行描述,下文描述的跨网络服务调用装置与上文描述的跨网络服务调用方法可相互对应参照。
如图9所示,该装置包括服务文件传输模块901、第二服务调用模块902和第二文件创建模块903,其中:
文件传输模块901用于定时接收第一网络基于文件光闸的摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
第二服务调用模块902用于定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
第二文件创建模块903用于定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
本实施例通过采用异步模式下的多阶段处理机制,在跨网络服务调用的过程中,将服务请求和服务响应任务化,对任务的状态进行更新,根据任务状态的流转,异步调用服务,并结合文件摆渡策略重构服务调用流程,支持异步模式下的跨网络服务调用,实现网络隔离情况下的数据安全传输。
本发明具有如下优点:
1、场景无关的服务调用方法:现有的文件摆渡策略仅能满足数据归档场景下的数据同步,而本方案基于数据存储、文件传输和定时任务支撑起网络异步服务调用,具备通用性。满足跨网络业务协同,扩宽了传统光闸文件摆渡功能的使用范围,补充了强安全要求下跨网络服务调用的解决方案;本方案不局限于特定场景,可满足多种业务场景下的跨网络异步调用服务需求。
2、灵活的服务调用策略:现有的文件摆渡策略不支持服务调用模式,不具备灵活的服务调用策略。本方案在服务调用规范中定义了数据交换格式、数据加解密方法以及定时任务执行频率,支持参数化配置,可根据不同的业务场景进行扩展。目前数据交换格式为JSON,可方便的扩展为XML(EXtensible Markup Language,可扩展的标记语言)、Protobuf等格式;数据加解密采用国密算法SM4,可以扩展支持DES(Data Encryption Standard,数据加密标准)、AES(Advanced Encryption Standard,对称加密算法)等加密算法;定时任务默认10分钟执行一次,可根据实际场景灵活配置频率。此外,采用模板设计模式实现主体流程,主体流程在服务调用策略调整时不受影响。同时,在服务调用和回执处理流程中预留了前置执行和后置执行接口,各业务场景实现该接口,按需扩展。
3、透明的服务调用流程:通过服务注册、数据封装和流程抽象,采用数据驱动和定时自动执行达到应用无感、服务端和调用端都能达到透明使用的目的。服务端首先以继承预定义抽象服务处理类的形式定义新的服务,设置业务类型,然后实现调用和回执接口,并约定入参和出参数据类型,最后将服务注册至本装置中的服务注册器,实现业务类型与服务类的绑定。调用端指定业务类型和入参数据类型发起服务调用,等待回执。服务调用过程中的数据处理和文件处理流程将自动实现,无需感知。
4、提出独立性强的模块化设计,通过数据驱动、状态流转实现模块间松耦合,降低维护成本,具备易维护性。易维护性体现在通过良好的模块化设计,将传统的服务调用模式进行了重构,构造了基于文件传输进行服务调用的各服务模块,各模块边界清晰,业务逻辑高内聚。
图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(Communications Interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行跨网络服务调用方法,该方法包括:在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的跨网络服务调用方法,该方法包括:在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的跨网络服务调用方法,该方法包括:在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种跨网络服务调用方法,其特征在于,应用于第一网络,包括:
在所述第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
2.根据权利要求1所述的跨网络服务调用方法,其特征在于,所述定时根据所述状态为第一状态的任务对应的请求,生成请求文件,包括:
将所述任务的状态、数据交互方向、请求和所述请求的业务类型保存至第一数据库中;
定时从所述第一数据库中查找所述状态为第一状态且所述数据交互方向为请求发送的任务对应的请求和所述请求的业务类型;
根据查找的所述请求和所述请求的业务类型生成请求报文,将所述请求报文保存至第一文本文件,得到所述请求文件。
3.根据权利要求2所述的跨网络服务调用方法,其特征在于,所述定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑,包括:
将所述返回数据保存至所述第一数据库中;
定时从所述第一数据库中查找所述状态为第三状态且所述数据交互方向为请求发送的任务对应的返回数据和请求的业务类型;
将查找的所述返回数据反序列化为返回对象,根据查找的所述业务类型获取对应的服务处理类;
根据所述返回对象和所述服务处理类,调用第一接口执行第一处理逻辑。
4.一种跨网络服务调用方法,其特征在于,应用于第二网络,包括:
定时接收第一网络基于光闸的文件摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
5.根据权利要求4所述的跨网络服务调用方法,其特征在于,所述定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,包括:
将所述请求数据和所述任务的数据交互方向保存至第二数据库中;
定时从所述第二数据库中查找所述状态为第一状态且所述数据交互方向为请求接收的任务对应的请求数据和所述任务对应的业务类型;
将查找的所述请求数据反序列化为请求对象,根据查找的所述业务类型获取所述业务类型对应的服务处理类;
根据所述请求对象和所述服务处理类,调用第二接口执行第二处理逻辑。
6.根据权利要求5所述的跨网络服务调用方法,其特征在于,所述定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,包括:
将所述执行结果保存至所述第二数据库中;
定时从所述第二数据库中查找所述状态为第二状态且所述数据交互方向为请求接收的任务对应的执行结果;
根据查找的所述执行结果生成回执报文,将所述回执报文保存至第二文本文件,得到所述回执文件。
7.一种跨网络服务调用装置,其特征在于,包括:
服务受理模块,用于在第一网络成功受理终端设备的请求后建立任务,将所述任务的状态设置为第一状态;
第一文件创建模块,用于定时根据所述状态为第一状态的任务对应的请求,生成请求文件,将所述任务的状态更新为第二状态,基于光闸的文件摆渡策略将所述状态为第二状态的任务对应的所述请求文件摆渡至第二网络;
第一服务调用模块,用于定时接收所述第二网络基于所述文件摆渡策略摆渡的回执文件,对所述回执文件进行解析得到返回数据,将所述任务的状态更新为第三状态,定时根据所述状态为第三状态的任务对应的返回数据和所述任务对应的业务类型关联的服务处理类,调用第一接口执行第一处理逻辑。
8.一种跨网络服务调用装置,其特征在于,包括:
文件传输模块,用于定时接收第一网络基于光闸的文件摆渡策略摆渡的请求文件,将所述请求文件对应的任务的状态设置为第一状态,对所述请求文件进行解析得到请求数据;
第二服务调用模块,用于定时根据所述状态为第一状态的任务对应的请求数据和所述任务对应的业务类型关联的服务处理类,调用第二接口执行第二处理逻辑,将所述任务的状态更新为第二状态;
第二文件创建模块,用于定时根据所述状态为第二状态的任务对应的执行结果,生成回执文件,将所述任务的状态更新为第四状态,基于所述文件摆渡策略将所述状态为第四状态的任务对应的回执文件摆渡至所述第一网络。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述跨网络服务调用方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述跨网络服务调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168982.9A CN117714218A (zh) | 2024-02-06 | 2024-02-06 | 跨网络服务调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168982.9A CN117714218A (zh) | 2024-02-06 | 2024-02-06 | 跨网络服务调用方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714218A true CN117714218A (zh) | 2024-03-15 |
Family
ID=90148358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410168982.9A Pending CN117714218A (zh) | 2024-02-06 | 2024-02-06 | 跨网络服务调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714218A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495457A (zh) * | 2018-10-31 | 2019-03-19 | 厦门畅享信息技术有限公司 | 跨网络限制的业务流程引擎及业务执行方法 |
CN113645248A (zh) * | 2021-08-17 | 2021-11-12 | 公安部交通管理科学研究所 | 一种跨网环境下数据交换系统及方法 |
CN114221785A (zh) * | 2021-11-17 | 2022-03-22 | 佛山市宏图数据有限公司 | 一种无感边界数据交换方法 |
CN116032643A (zh) * | 2023-01-10 | 2023-04-28 | 江苏电力信息技术有限公司 | 用于国网链服务调用的应用层隐式单向隔离装置穿透方法 |
CN116094828A (zh) * | 2023-02-14 | 2023-05-09 | 深圳市利谱信息技术有限公司 | 一种基于物理隔离的动态协议网关系统 |
CN116633993A (zh) * | 2023-07-25 | 2023-08-22 | 中邮消费金融有限公司 | 跨网络调用微服务方法、装置、设备及存储介质 |
-
2024
- 2024-02-06 CN CN202410168982.9A patent/CN117714218A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495457A (zh) * | 2018-10-31 | 2019-03-19 | 厦门畅享信息技术有限公司 | 跨网络限制的业务流程引擎及业务执行方法 |
CN113645248A (zh) * | 2021-08-17 | 2021-11-12 | 公安部交通管理科学研究所 | 一种跨网环境下数据交换系统及方法 |
CN114221785A (zh) * | 2021-11-17 | 2022-03-22 | 佛山市宏图数据有限公司 | 一种无感边界数据交换方法 |
CN116032643A (zh) * | 2023-01-10 | 2023-04-28 | 江苏电力信息技术有限公司 | 用于国网链服务调用的应用层隐式单向隔离装置穿透方法 |
CN116094828A (zh) * | 2023-02-14 | 2023-05-09 | 深圳市利谱信息技术有限公司 | 一种基于物理隔离的动态协议网关系统 |
CN116633993A (zh) * | 2023-07-25 | 2023-08-22 | 中邮消费金融有限公司 | 跨网络调用微服务方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8813243B2 (en) | Reducing a size of a security-related data object stored on a token | |
CN101820449B (zh) | 跨安全区应用服务隔离平台 | |
US6665674B1 (en) | Framework for open directory operation extensibility | |
CN112000741B (zh) | 内外网数据交换系统、方法、装置、计算机设备和介质 | |
CN109861973B (zh) | 信息传输方法、装置、电子设备及计算机可读介质 | |
CN110009201B (zh) | 一种基于区块链技术的电力数据链接系统及方法 | |
CN105187372A (zh) | 一种基于移动应用入口的数据处理方法、装置和系统 | |
CN112612629A (zh) | 一种组件式的数据接口实现方法与系统 | |
CN111382985B (zh) | 待办消息集成推送系统和工作方法 | |
CN104796389A (zh) | 一种基础数据共享系统及其方法 | |
CN110413702A (zh) | 异构数据库内外网同步方法、装置及系统 | |
CN1973282A (zh) | 用于管理针对集群配置的改变的系统和方法 | |
CN115242644A (zh) | 一种微服务开发治理系统 | |
CN114240409A (zh) | 基于改进哈希时间锁的跨链资产交互方法 | |
CN113467972A (zh) | 通信接口构造方法、装置以及计算机设备、存储介质 | |
US8891524B2 (en) | Method and apparatus of automatically providing registration information | |
CN116489214A (zh) | 一种基于微服务网关的统一服务调度方法、装置、介质及设备 | |
CN109819020A (zh) | 基于配置化的第三方平台登录对接方法、存储介质 | |
CN112134707B (zh) | 一种针对多个kerberos集群的并发访问方法和装置 | |
CN105955790A (zh) | 数据处理方法及装置 | |
CN117714218A (zh) | 跨网络服务调用方法及装置 | |
CN101527646A (zh) | 一种web网络管理系统和方法 | |
US20080086472A1 (en) | Supporting Multiple Security Mechanisms in a Database Driver | |
CN116095081A (zh) | 基于区块链系统的事件处理方法及装置、设备、介质 | |
AU743834B2 (en) | A control type or service independent building block |
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 |