具体实施方式
对于能够实现新功能的新业务,考虑到实际应用中多运行环境的问题,为了确保该新业务的性能,需要将该新业务对应的业务数据在不同运行环境中进行测试验证,进而将通过测试验证的业务数据发布到生产环境中,为用户提供该新业务。
目前,对于客户咨询人员在客户端中,通过配置规则生成的新业务,由于客户端是运行在生产环境中的,因此,新业务对应的业务数据存储在生产环境中的源业务对象中。
其中,源业务对象可以是生产环境中的服务器,也可以是生产环境中的数据库,这里不做具体限定。
图1为现有技术中的跨环境数据通信的示意图。如图1所示,对于生产环境中新业务对应的业务数据,可以分别在开发环境、测试环境、预发布环境中进行测试验证。由于不同运行环境之间是独立存在的,首先,将生产环境中的业务数据通过人工的方式导出;其次,分别登入对应的多套运行环境(例如,开发环境、测试环境、预发布环境);最后,通过人工的方式将业务数据导入对应的运行环境中的业务对象中进行测试验证。
随着新业务的不断开发,新业务对应的业务数据的数据量不断增加,采用传统的人工导入/导出的跨环境数据通信方式,会影响跨环境数据通信的效率,进而导致业务数据的处理效率较低。
为了实现本申请的目的,本申请实施例提供了一种跨环境数据通信方法、装置和系统,该方法包括:中转对象通过接收源业务对象发送的业务数据,并在第一运行环境中确定用于处理业务数据的目标业务对象,进而向目标业务对象发送业务数据。其中,第一运行环境中设置有能够与第二运行环境中的源业务对象通信的中转对象,且第一运行环境中的目标业务对象不能与第二运行环境中的源业务对象直接通信,使得通过中转对象,能够有效提高跨环境数据通信的效率和业务数据的处理效率。
下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图2为本申请实施例提供的一种跨环境数据通信方法的流程示意图。该方法可以如下所示。
步骤202:中转对象接收源业务对象发送的业务数据。
其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,中转对象能够与第二运行环境中的源业务对象通信。
目前,对于新业务的开发,可能会涉及到四套不同的环境:开发环境、测试环境、预发布环境和生产环境,其中,开发环境表示部署在开发工具的服务器上,用于进行新业务开发的一套环境;测试环境表示部署在测试服务器上,用于对新业务的业务数据进行调试的一套环境;生产环境表示直接面向用户,运行新业务的一套环境;预发布环境表示与生产环境架构相同,但并不直接面向用户运行新业务的一套环境。
本申请实施例中,新业务是根据用户需求,通过对运行在生产环境中的客户端中进行规则配置得到的,例如,根据用户的付款需求,将客户端中的A付款方式和B付款方式进行组合配置,得到A+B组合付款方式的新业务,因此,新业务对应的业务数据可以存储在生产环境中的源业务对象中。
需要说明的是,源业务对象可以是生产环境中的服务器,也可以是生产环境中的数据库,这里不做具体限定。
由于不同的运行环境是独立存在的,为了实现跨环境数据通信,在需要对业务数据进行测试验证的第一运行环境中分别设置能够与第二运行环境中的源业务对象进行通信的中转对象。
本申请实施例中,中转对象可以为代理服务器。
例如,在开发环境、测试环境和预发布环境中分别设置代理服务器,使得生产环境可以与设置有代理服务器的运行环境建立通信连接,进而可以动态访问开发环境、测试环境和预发布环境,实现跨环境数据通信逻辑。
本申请实施例中,第一运行环境包括开发环境、测试环境和预发布环境中的一种或多种,第二运行环境包括生产环境。
中转对象接收源业务对象发送的业务数据,包括:
开发环境中的中转对象接收生产环境中的源业务对象发送的业务数据;和/或,
测试环境中的中转对象接收生产环境中的源业务对象发送的业务数据;和/或,
预发布环境中的中转对象接收生产环境中的源业务对象发送的业务数据。
需要说明的是,生产环境中的业务数据可以选择在开发环境、测试环境和预发布环境中的一个或多个中进行测试验证,具体在哪个环境中进行测试验证可以根据实际情况确定,这里不做具体限定。
图3为本申请实施例提供的跨环境数据通信的示意图。
如图3所示,在开发环境、测试环境和预发布环境中分别设置可以和生产环境中的源业务对象通信的中转对象,使得开发环境、测试环境和预发布环境中的中转对象可以分别接收生产环境中的源业务对象发送的业务数据。
本申请实施例中,在中转对象为代理服务器时,开发环境中的代理服务器接收生产环境中的源业务对象发送的业务数据,具体包括:
首先,生产环境中的源业务对象与开发环境中的代理服务器建立通信连接;
其次,生产环境中的源业务对象将需要进行测试验证的业务数据向开发环境中的代理服务器发送;
最后,开发环境中的代理服务器接收该业务数据。
本申请实施例中,在中转对象为代理服务器时,测试环境中的代理服务器接收生产环境中的源业务对象发送的业务数据,具体包括:
首先,生产环境中的源业务对象与测试环境中的代理服务器建立通信连接;
其次,生产环境中的源业务对象将需要进行测试验证的业务数据向测试环境中的代理服务器发送;
最后,测试环境中的代理服务器接收该业务数据。
本申请实施例中,在中转对象为代理服务器时,预发布环境中的代理服务器接收生产环境中的源业务对象发送的业务数据,具体包括:
首先,生产环境中的源业务对象与预发布环境中的代理服务器建立通信连接;
其次,生产环境中的源业务对象将需要进行测试验证的业务数据向预发布环境中的代理服务器发送;
最后,预发布环境中的代理服务器接收该业务数据。
通过中转对象,使得生产环境可以动态访问开发环境、测试环境和预发布环境,有效提高跨环境数据通信的通信效率。
本申请实施例中,测试环境中的中转对象可以将测试环境中通过测试验证的业务数据发送到开发环境中进行再次测试验证;或,测试环境中的中转对象可以将测试环境中通过测试验证的业务数据发送到预发布环境中进行再次测试验证;或,预发布环境中的中转对象可以将预发布环境中通过测试验证的业务数据发送到开发环境中进行再次测试验证;或,预发布环境中的中转对象可以将预发布环境中通过测试验证的业务数据发送到测试环境中进行再次测试验证。
为了确保跨环境数据通信的安全性,中转对象接收到的业务数据可能是经过源业务对象压缩加密之后的,中转对象需要对压缩加密的业务数据进行解密和解压缩操作,得到能够直接调用的业务数据。
步骤204:中转对象在第一运行环境中确定目标业务对象。
其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信。
第一运行环境中的中转对象接收到第二运行环境中的源业务对象发送的业务数据之后,需要在第一运行环境中选择合适的目标业务对象,对该业务数据进行测试验证。
本申请实施例中,中转对象在第一运行环境中确定目标业务对象,包括:
中转对象获取第一运行环境中的业务对象的负载信息,其中,负载信息包括:内存负载和/或中央处理器CPU负载;
中转对象将符合预设条件的负载信息对应的业务对象确定为目标业务对象。
在第一运行环境中,除了部署有中转对象之外,还部署有可以进行数据处理的业务对象集群。
需要说明的是,业务对象集群中包含的业务对象可以是进行数据处理的服务器,也可以是进行数据处理的处理器,这里不做具体限定。
在中转对象选择目标业务对象对业务数据进行测试验证时,为了实现有效性验证,需要考虑数业务对象集群中的负载均衡,选择负载信息符合预设条件的业务对象作为目标业务对象,对业务数据进行测试验证,提高业务数据的处理效率。
本申请实施例中,第一环境中的中转对象可以向业务对象发送用于获取业务对象负载信息的获取请求,使得业务对象根据该获取请求,向中转对象发送自身负载信息。
当业务对象集群中包含的业务对象较多时,为了提高中转对象的处理效率,可以设置业务对象定时向中转对象主动上报自身负载信息,使得中转对象可以定时获取到业务对象的负载信息。
中转对象接收到该负载信息之后,综合考虑业务对象集群中的负载均衡,选择负载信息符合预设条件的业务对象作为目标业务对象。
需要说明的是,负载信息符合预设条件表示负载信息可以满足业务数据有效性验证需求,具体条件设定可以根据实际有效性验证需求确定,这里不做具体限定。
中转对象根据接收到的负载信息,综合考虑业务对象集群中的负载均衡,选择负载信息符合预设条件的业务对象作为目标业务对象,提高业务数据的处理效率,实现业务数据的有效性验证。
步骤206:中转对象向目标业务对象发送业务数据。
本申请实施例中,中转对象向目标业务对象发送业务数据,包括:
中转对象根据预设的幂等控制规则向目标业务对象发送业务数据。
具体地,中转对象确定业务数据的键值,其中,该键值用于唯一标识该业务数据;
中转对象根据业务数据的键值,查找第一运行环境中的幂等控制数据库中是否存储有该键值,其中,第一运行环境中的幂等控制数据库中存储有处理状态为处理中的业务数据对应的键值;
在第一运行环境中的幂等控制数据库中未存储该键值时,中转对象向目标业务对象发送该业务数据,并在第一运行环境中的幂等控制数据库中存储该键值。
本申请实施例中,在第一运行环境中的幂等控制数据库中存储有业务数据的键值时,中转对象不向目标业务对象发送该业务数据。
在数据发送出现故障(例如,网络抖动导致数据重发)时,中转对象可能会接收到源业务对象发送的重复数据,对于重复数据,目标业务对象得到的处理结果是相同的,因此,为了降低目标业务对象的CPU损耗,中转对象根据预设的幂等控制规则向目标业务对象发送业务数据,例如,记录业务数据的处理状态,并将业务数据的处理状态存储在幂等控制数据库中,对于已经发送到目标业务对象中进行测试验证的业务数据(即处理状态为处理中的业务数据),如果接收到其重复数据,将不再向目标业务对象发送重复数据。
例如,测试环境中的中转对象接收到生产环境中的源业务对象发送的业务数据a,中转对象确定业务数据a的键值。在测试环境中的幂等控制数据库中查找业务数据a的键值,当确定在测试环境中的幂等控制数据库中未存储业务数据a的键值时,将业务数据a发送到目标业务对象中进行测试验证,并将业务数据a的键值存储在测试环境中的幂等控制数据库中。
由于网络抖动,导致生产环境中的源业务对象向测试环境中的中转对象重复发送了业务数据a。中转对象再次接收到业务数据a之后,中转对象确定业务数据a的键值。在测试环境中的幂等控制数据库中查找业务数据a的键值,由于测试环境中的幂等控制数据库中存储有业务数据a的键值,因此,不向目标业务对象发送业务数据a。
本申请实施例中,中转对象确定业务数据在目标业务对象中是否处理完成;
在确定该业务数据在目标对象中处理完成之后,中转对象删除第一运行环境中的幂等控制数据库中存储的该业务数据对应的键值。
第一运行环境中的幂等控制数据库中存储处理状态为处理中的业务数据对应的键值,当该业务数据处理完成,其处理状态为处理完成时,删除幂等控制数据库中存储的该键值,以免影响后续对于业务数据的处理。
中转对象通过预设的幂等控制规则向目标业务对象发送业务数据,使得在中转对象接收到的数据出现故障时,不会影响后续目标业务对象对业务数据的处理,降低目标业务对象的CPU损耗,有效提高业务数据的处理效率。
本申请实施例记载的技术方案,中转对象通过接收源业务对象发送的业务数据,并在第一运行环境中确定用于处理业务数据的目标业务对象,进而向目标业务对象发送业务数据。其中,第一运行环境中设置有能够与第二运行环境中的源业务对象通信的中转对象,且第一运行环境中的目标业务对象不能与第二运行环境中的源业务对象直接通信,使得通过中转对象,能够有效提高跨环境数据通信的效率和业务数据的处理效率。
实施例2
图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成跨环境数据通信装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
中转对象接收源业务对象发送的业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,中转对象能够与第二运行环境中的源业务对象通信;
中转对象在第一运行环境中确定目标业务对象,其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信;
中转对象向目标业务对象发送业务数据。
上述如本申请实施例1执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1执行的方法,并实现上述实施例1的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中应用页面截图上报装置执行的方法,并具体用于执行:
中转对象接收源业务对象发送的业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,中转对象能够与第二运行环境中的源业务对象通信;
中转对象在第一运行环境中确定目标业务对象,其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信;
中转对象向目标业务对象发送业务数据。
图5是本申请的一个实施例接入层装置的结构示意图。请参考图5,在一种软件实施方式中,接入层装置可包括:接收单元501、确定单元502和发送单元503,其中:
接收单元501,控制中转对象接收源业务对象发送的业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,中转对象能够与第二运行环境中的源业务对象通信;
确定单元502,控制中转对象在第一运行环境中确定目标业务对象,其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信;
发送单元503,控制中转对象向目标业务对象发送业务数据。
可选地,确定单元502控制中转对象在第一运行环境中确定目标业务对象,包括:
中转对象获取第一运行环境中的业务对象的负载信息,其中,负载信息包括:内存负载和/或中央处理器CPU负载;
中转对象将符合预设条件的负载信息对应的业务对象确定为目标业务对象。
可选地,发送单元503控制中转对象向目标业务对象发送业务数据,包括:
中转对象根据预设的幂等控制规则向目标业务对象发送所述业务数据。
可选地,发送单元503控制中转对象根据预设的幂等控制规则向目标业务对象发送业务数据,包括:
中转对象确定业务数据的键值,其中,该键值用于唯一标识该业务数据;
中转对象根据该键值,查找第一运行环境中的幂等控制数据库中是否存储有该键值,其中,第一运行环境中的幂等控制数据库中存储有处理状态为处理中的业务数据对应的键值;
在第一运行环境中的幂等控制数据库中未存储该键值时,中转对象向目标业务对象发送该业务数据,并在第一运行环境中的幂等控制数据库中存储该键值。
可选地,在第一运行环境中的幂等控制数据库中存储有业务数据的键值时,中转对象不向目标业务对象发送该业务数据。
可选地,装置500还包括:删除单元,其中:
确定单元502,控制中转对象确定业务数据在目标业务对象中是否处理完成;
删除单元,在确定该业务数据在目标对象中处理完成之后,控制中转对象删除第一运行环境中的幂等控制数据库中存储的该业务数据对应的键值。
可选地,第一运行环境包括开发环境、测试环境和预发布环境中的一种或多种,第二运行环境包括生产环境。
根据该接入层装置,接收单元控制中转对象接收源业务对象发送的业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,中转对象能够与第二运行环境中的源业务对象通信;确定单元控制中转对象在第一运行环境中确定目标业务对象,其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信;发送单元控制中转对象向目标业务对象发送业务数据,使得通过中转对象,能够有效提高跨环境数据通信的效率和业务数据的处理效率。
实施例3
基于同一个发明构思,本申请实施例还提供的一种跨环境数据通信方法。本申请实施例3中的跨环境数据通信过程与实施例1中所述跨环境数据通信过程相似,实施例3中没有介绍到的其他一些步骤可以参见实施例1中的相关描述,此处不再赘述。
本申请实施例提供的一种跨环境数据通信方法包括:
源业务对象向中转对象发送业务数据。
其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,源业务对象能够与第一运行环境中的中转对象通信,源业务对象不能与第一运行环境中除中转对象以外的其他对象直接通信。
由于不同的运行环境是独立存在的,为了实现跨环境数据通信,在第一运行环境中设置能够与第二运行环境中的源业务对象进行通信的中转对象,使得通过中转对象,实现第一运行环境和第二运行环境之间的跨环境数据通信。
本申请实施例中,新业务是根据用户需求,通过对运行在生产环境中的客户端中进行规则配置得到的,因此,新业务对应的业务数据可以存储在生产环境中的源业务对象中。
需要说明的是,源业务对象可以是生产环境中的服务器,也可以是生产环境中的数据库,这里不做具体限定。
本申请实施例中,第一运行环境包括开发环境、测试环境和预发布环境中的一种或多种,第二运行环境包括生产环境。
源业务对象向中转对象发送业务数据,包括:
生产环境中的源业务对象向开发环境中的中转对象发送业务数据;和/或,
生产环境中的源业务对象向测试环境中的中转对象发送业务数据;和/或,
生产环境中的源业务对象向预发布环境中的中转对象发送业务数据。
需要说明的是,生产环境中的业务数据可以选择在开发环境、测试环境和预发布环境中的一个或多个中进行测试验证,具体在哪个环境中进行测试验证可以根据实际情况确定,这里不做具体限定。
本申请实施例中,在业务数据需要重新发送时,还包括:
源业务对象根据预设的幂等控制规则向中转对象重新发送业务数据。
具体地,源业务对象确定业务数据的键值,其中,该键值用于唯一标识该业务数据;
源业务对象根据该键值,查找第二运行环境中的幂等控制数据库中是否存储有该键值,其中,第二运行环境中的幂等控制数据库中存储有发送状态为发送成功的业务数据对应的键值;
在第二运行环境中的幂等控制数据库中未存储该键值时,源业务对象向中转对象发送该业务数据,并在第二运行环境中的幂等控制数据库中存储该键值。
可选地,在第二运行环境中的幂等控制数据库中存储有业务数据的键值时,源业务对象不向中转对象发送该业务数据。
当源业务对象向中转对象发送业务数据时,如果数据发送失败,需要进行数据重新发送。为了避免发送重复的问题,源业务对象根据预设的幂等控制规则向中转对象发送业务数据。例如,源业务对象会在进行数据发送时,将发送成功的业务数据的键值存储在第二运行环境中的幂等控制数据库中,当数据发送失败,需要进行数据重新发送时,能够根据业务数据的键值,筛选出已经发送成功的业务数据,并且对于已经发送成功的业务数据不会进行重复发送。
本申请实施例中,源业务对象向中转对象发送业务数据,包括:
源业务对象通过数据压缩加密的方式向中转对象发送业务数据。
在实际应用中,随着业务数据的不断增加,在进行跨环境数据通信时,会存在数据量过大,数据传输速率较慢的问题。
因此,源业务对象将业务数据进行压缩加密之后向中转对象发送,能够有效缓解数据量过大造成的传输速率较慢的问题,并且能够确保跨环境数据通信过程中业务数据的安全性。
需要说明的是,对业务数据进行压缩加密的方式可以根据业务数据的类型确定,也可以根据实际情况确定,这里不做具体限定。
本申请实施例记载的技术方案,在第一运行环境中设置能够与第二运行环境中的源业务对象通信的中转对象,源业务对象通过向中转对象发送业务数据,有效提高跨环境数据通信的效率。
实施例4
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成跨环境数据通信装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
源业务对象向中转对象发送业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,源业务对象能够与第一运行环境中的中转对象通信,源业务对象不能与第一运行环境中除中转对象以外的其他对象直接通信。
上述如本申请实施例3执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可实现上述实施例3的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中应用页面截图上报装置执行的方法,并具体用于执行:
源业务对象向中转对象发送业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,源业务对象能够与第一运行环境中的中转对象通信,源业务对象不能与第一运行环境中除中转对象以外的其他对象直接通信。
本申请实施例还提供一种接入层装置,包括:发送单元,其中:
发送单元,控制源业务对象向中转对象发送业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,源业务对象能够与第一运行环境中的中转对象通信,源业务对象不能与第一运行环境中除中转对象以外的其他对象直接通信。
可选地,在业务数据需要重新发送时,发送单元控制源业务对象根据预设的幂等控制规则向中转对象重新发送业务数据。
可选地,发送单元控制源业务对象根据预设的幂等控制规则向中转对象重新发送业务数据,包括:
源业务对象确定业务数据的键值,其中,该键值用于唯一标识该业务数据;
源业务对象根据该键值,查找第二运行环境中的幂等控制数据库中是否存储有该键值,其中,第二运行环境中的幂等控制数据库中存储有发送状态为发送成功的业务数据对应的键值;
在第二运行环境中的幂等控制数据库中未存储该键值时,源业务对象向中转对象发送该业务数据,并在第二运行环境中的幂等控制数据库中存储该键值。
可选地,在第二运行环境中的幂等控制数据库中存储有业务数据的键值时,发送单元控制源业务对象不向中转对象发送该业务数据。
可选地,发送单元控制源业务对象通过数据压缩加密的方式向中转对象发送业务数据。
可选地,第一运行环境包括开发环境、测试环境和预发布环境中的一种或多种,第二运行环境包括生产环境。
实施例5
基于同一个发明构思,本申请实施例还提供了一种跨环境数据通信系统。本申请实施例5中的跨环境数据通信过程与实施例1和/或实施例3中所述跨环境数据通信过程相似,实施例5中没有介绍到的其他一些步骤可以参见实施例1和/或实施例3中的相关描述,此处不再赘述。
跨环境数据通信系统包括:源业务对象和中转对象,其中:
源业务对象向中转对象发送业务数据,其中,中转对象位于第一运行环境中,源业务对象位于第二运行环境中,源业务对象能够与第一运行环境中的中转对象通信,源业务对象不能与第一运行环境中除中转对象以外的其他对象直接通信;
中转对象接收源业务对象发送的业务数据;
中转对象在第一运行环境中确定目标业务对象,其中,目标业务对象用于处理业务数据,目标业务对象不能与第二运行环境中的源业务对象直接通信;
中转对象向目标业务对象发送业务数据。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。