CN101964739B - 数据传送方法、装置及系统 - Google Patents
数据传送方法、装置及系统 Download PDFInfo
- Publication number
- CN101964739B CN101964739B CN200910089512.9A CN200910089512A CN101964739B CN 101964739 B CN101964739 B CN 101964739B CN 200910089512 A CN200910089512 A CN 200910089512A CN 101964739 B CN101964739 B CN 101964739B
- Authority
- CN
- China
- Prior art keywords
- data
- request
- mode
- response
- service request
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种数据传送方法、装置及系统。该方法包括:接收数据请求方的服务请求,根据服务请求对应的服务类型确定数据交换模式;获取服务请求对应的响应数据,通过预设的数据组织形式封装响应数据;将响应数据通过确定的数据交换模式发送至数据请求方。本发明各实施例的数据传送方法、装置及系统,将不同的服务类型对应不同的数据交换模式,并且规定数据封装格式统一为XML格式,从而提高了数据传送的灵活性和效率,增强数据传送系统的可扩展性。
Description
技术领域
本发明涉及数据库及业务支撑技术领域,尤其涉及数据传送方法、装置及系统。
背景技术
目前有些大型企业,例如通信、金融行业的企业,存在多个异构、异地、分层的数据仓库和数据集市系统,各个系统分属不同的机构管理,彼此之间需要经常互通数据,例如中国移动经营分析系统就是一个多级分散的数据仓库系统,各省都拥有独立的数据仓库,集团中心则有独立的中心数据仓库。在这样的数据分布中,不同的数据仓库系统之间需要经常同步数据。另外,在大型、异构、异地、分层的数据仓库和数据集市系统中,越来越多的业务应用需要访问数据仓库中的数据,很多类似的业务应用往往需要同一份数据,有些应用还要访问多个数据仓库系统。
通常的解决方案中,两个数据仓库系统之间数据的互访问,以及业务系统对数据仓库系统的访问,多数由双方协商自行制定访问方式和协议,并自行开发数据访问程序完成对数据的访问。在这种情况下,数据仓库访问接口、通讯方式、安全机制、权限机制、性能负载等等均需要双方协商约定。
图1为现有技术数据库访问方式的示意图。如图1所示,应用1对应数据存储1,应用2对应数据存储2,应用3对应数据存储3,应用与对应的数据存储之间分别通过各自的ODBC/JDBC/NATIVE等接口方式进行数据查询和获取操作。各个数据仓库系统之间,对数据的访问接口、数据结构、消息格式、安全级别等要求不同,从而造成业务访问低效并且难于管理,不同业务应用之间很难共用相同的数据访问与处理逻辑,造成代码及工作的重复。
另外,直接把数据仓库系统中的数据暴露给多个外部应用也增加了数据的安全风险,并增加了数据的管理代价。访问数据仓库的各种应用之间,还存在着耦合度过高、标准化不足等问题,导致各个应用之间无法有效的进行数据交互,从而降低了业务运行效率,使得系统的运行风险增加。
另外在大型的系统环境中,不同的系统之间,不同的应用之间需要保持良好的通讯。越来越多的应用程序之间的通讯不仅要求发送方应用和接收方应用同时在线,而且发送者和接收者还要知道互相的程序对程序的调用接口,但是实际情况却是:应用程序并不总是在线;网络硬件故障往往不可避免;数据的流量具有突发性,可能造成网络的信息拥塞;某个应用需要立即处理,而另外一个应用却可以缓一缓。这样,应用之间的可靠性问题变得非常突出。良好的数据封装机制能够很好地协调不同应用之间的通讯,使得消息封装和传输符合一定的标准和规范,并且允许异步交互。
在实现本发明过程中,发明人发现现有数据传送方式中存在如下问题:缺乏对数据传输的统一管理;不能根据数据类型确定最有效的数据传输模式;数据封装缺乏统一的格式,从而造成数据传输效率低下,由于开发及运行的灵活性差。
发明内容
本发明的目的是解决数据传送方式中灵活性差的缺陷,提出一种数据传送方法、装置及系统,以提高数据传输的效率及灵活性。
为实现上述目的,根据本发明的一个方面,提供了一种数据传送方法,包括:接收数据请求方的服务请求,根据服务请求中包含的服务类型确定数据交换模式;获取服务请求对应的响应数据,通过预设的数据组织形式封装响应数据;将响应数据通过数据交换模式发送至数据请求方。
本技术方案中,根据服务请求中包含的服务类型确定数据交换模式的步骤中:当服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式。
本技术方案中,根据服务请求中包含的服务类型确定数据交换模式的步骤中:当服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
优选地,本技术方案中,接收数据请求方的服务请求的步骤之前还包括:数据服务方和数据请求方预先约定服务类型及对应的数据交换模式。
优选地,本技术方案中,接收数据请求方的服务请求的步骤之前还可以包括:数据服务方和数据请求方预先约定采用XML文件作为数据组织形式;对应地,接收数据请求方的服务请求的步骤中,服务请求采用XML文件作为数据组织形式;对应地,通过预设形式封装响应数据的步骤包括:响应数据采用XML文件作为数据组织形式;对应地,将响应数据通过数据交换模式发送至数据请求方的步骤之后还包括:数据请求方进行XML数据组织形式响应数据的解封装。
本技术方案中,数据交换模式为同步模式时,接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求,等待;将响应数据通过数据交换模式发送至数据请求方的步骤之后还包括:数据请求方接收响应数据,继续运行。
本技术方案中,数据交换模式为异步模式时,接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求后,继续进行其他业务;接收数据请求方的服务请求的步骤之后还包括:返回服务请求成功标志,成功标识包括预估时长、建议定期查询的时间间隔;将响应数据通过数据交换模式发送至数据请求方的步骤具体包括:到达预估时长后,数据请求方向数据服务方按照时间间隔查询响应数据准备进度;如果响应数据未准备完毕,则下一个时间间隔后继续查询;如果响应数据准备完毕,则按照异步模式接收数据服务方的响应数据。
本技术方案中,数据交换模式为订阅模式时,接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求,服务请求包括注册信息及回应方式;接收数据请求方的服务请求的步骤之后还包括:返回注册成功的标识;将响应数据通过数据交换模式发送至数据请求方的步骤具体包括:数据服务方按照回应方式将所需数据发送至数据请求方。
本技术方案中,数据请求方可以为其他数据仓库系统或者业务系统。
为实现上述目的,根据本发明的另一个方面,提供了一种数据传送的服务装置,包括:接收模块,用于接收数据请求方的服务请求,根据服务请求中包含的服务类型确定数据交换模式;获取模块,用于获取服务请求对应的响应数据;封装模块,用于通过预设的数据组织形式封装响应数据;发送模块,用于将响应数据通过数据交换模式发送至数据请求方。
优选地,本技术方案中,接收模块具体包括:请求子模块,用于接收数据请求方的服务请求;判断子模块,用于当服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式;当服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
优选地,本技术方案中,数据传送的服务装置还可以包括:发布模块,用于数据服务方和数据请求方预先约定服务类型及对应的数据交换模式,并用于预先约定数据服务方和数据请求方采用XML文件作为数据组织形式;封装模块,用于通过XML文件格式封装响应数据。
为实现上述目的,根据本发明的再一个方面,提供了一种数据传送的请求装置,包括:封装模块,用于当接收到服务请求时,根据预先约定的数据组织形式封装服务请求;发送模块,用于根据根据服务请求对应的服务类型,确定数据交换模式,通过数据交换模式发送服务请求至数据服务方;解封装模块,用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装响应数据。
优选地,本技术方案中,数据组织形式为XML文件格式;数据交换模式包括:同步模式、异步模式,和/或订阅模式。
为实现上述目的,根据本发明的再一个方面,提供了一种数据传送系统,其特征在于,包括数据请求方和数据服务方,其中:数据请求方,用于当接收到服务请求时,根据预先约定的数据组织形式封装服务请求,根据根据服务请求对应的服务类型,确定数据交换模式,通过数据交换模式发送服务请求至数据服务方,并用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装响应数据;数据服务方,包括数据库和数据传送服务装置。其中,数据库,用于存储服务请求对应的数据;数据传送装置,用于接收数据请求方的服务请求,根据服务请求中包含的服务类型确定数据交换模式,从数据库中获取服务请求对应的响应数据,通过预设格式封装响应数据,将响应数据通过数据交换模式发送至数据请求方。
本发明各实施例的数据传送方法、装置及系统,将不同的服务请求对应不同的数据交换模式,并且规定数据封装格式统一为XML格式,从而提高了数据传输的灵活性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术数据库访问方式的示意图;
图2为本发明实施例一数据传送方法的流程图;
图3为本发明实施例二数据传送方法同步模式的流程图;
图4为本发明实施例三数据传送方法异步模式的流程图;
图5为本发明实施例四数据传送方法中第一订阅模式的流程图;
图6为本发明实施例四数据传送方法中第二订阅模式的流程图;
图7为本发明实施例五XML格式的请求文件结构的示意图;
图8为本发明实施例五XML格式的响应文件结构的示意图;
图9为本发明实施例六数据传送服务装置的示意图;
图10为本发明实施例八数据传送系统的示意图;
图11为本发明实施例九基于Web服务的数据传送系统的示意图。
结合附图在其上标记以下附图标记:
602-发布模块; 604-接收模块; 606-获取模块;
608-封装模块; 610-发送模块。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例一
图2为本发明实施例一数据传送方法的流程图。如图2所示,本实施例包括:
步骤S102:接收数据请求方的服务请求,根据服务请求中包含的服务类型确定数据交换模式;
步骤S104:获取服务请求对应的响应数据,通过预设的数据组织形式封装响应数据;
步骤S106:将响应数据通过数据交换模式发送至数据请求方。
本实施例中,步骤S102~S106的执行主体为数据服务方,数据服务方可以包括数据库及数据传送装置,数据请求方可以为其他数据仓库系统或者业务系统。当数据请求方使用的数据库与数据服务方使用的数据库结构有差异时,称两者为异构数据库。异构数据仓库之间的数据交换既有实时的小规模交换,也有异步的大数据量交换,还有定期的数据同步,因此设计如何的数据交换模式是整个异构数据仓库数据封装的首要问题。良好的数据交换模式应该适应不同大小的数据量,以及不同的相应时间要求。在本方案中,具体的数据交换模式分为同步模式、异步模式和订阅模式三种。
其中,同步模式适用于产生回复数据比较快,并且数据量比较小的场合;异步模式适用于被请求的数据产生时间比较长,或者数据量巨大的场合;订阅模式其实是异步方式的一种,但是加入了定期向订阅方发送数据的功能。异步模式适用于不定期的,突发式的大数据量请求服务。而订阅模式则是两个数据仓库系统之间中、小数据量的数据。
对于具体的数据封装服务来说,由数据请求方和/或数据服务方对此服务常规情况下产生响应数据的时间和响应数据量的大小进行评估,来协商决定选择何种数据交换模式。例如,设定响应数据的产生时间阈值为5秒,流量阈值为1MB,则产生响应数据时间小于5秒且响应数据量小于1MB的服务采用同步方式;对产生响应数据时间大于5秒或响应数据量大于1MB的服务使用异步的方式。此外,当数据服务方定期产生新数据,可以提供给数据请求方时,可以采用订阅模式。当然,系统也可以根据具体的场景进行设置,来限定响应数据产生的时长,及数据量的大小,只要符合本实施例的思想,同样应该在本发明的保护范围之内。
本实施例中,步骤S102之前还包括:数据请求方根据数据服务方发布的服务类型及对应的数据交换模式向数据服务方发送服务请求。此外,数据请求方与数据服务方需可以事先约定通过XML格式文件进行数据交互,包括:服务请求的数据组织、响应数据的封装与解封装等。
本实施例的数据传送方法,将不同的服务类型对应不同的数据交换模式,从而提高了数据传输的灵活性和效率。此外,将数据结构统一为XML格式,降低了业务实现的复杂度及开发难度;避免了代码开发的重复劳动;并且使本实施例对应的数据传送系统具有良好的可扩展性。
实施例二
同步方式中,数据请求方向数据服务方发送数据请求,然后数据请求方阻塞在这里,等待数据服务方的数据返回;数据服务方在接到数据请求方的数据请求后,进行一系列的业务处理产生响应数据,然后回复数据给数据请求方;数据请求方在接到数据回复之后,中止阻塞状态继续运行。图3为本发明实施例二数据传送方法同步模式的流程图。如图3所示,本实施例包括:
步骤S202:数据请求方向数据服务方发送服务请求,等待;
步骤S204:数据服务方接收数据请求方的服务请求,当服务请求中包含的服务类型对应的响应数据获取快,数据量小时,确定数据交换模式为同步模式;
步骤S206:数据服务方获取服务请求对应的响应数据,通过预设的XML格式组织响应数据;
步骤S208:将响应数据通过同步模式发送至数据请求方;
步骤S210:数据请求方接收响应数据,继续运行。
本实施例中,由于数据请求方在发送数据请求后需要阻塞运行,因此如果回应的速度比较慢,会造成数据请求方长时间阻塞不能运行,很可能会影响到数据请求方应用的正常运行。虽然可以通过服务响应超时来控制长时间的等待问题,但是如果响应数据产生过慢,不建议使用同步模式。另一方面,只有传输的数据量比较小,使用服务将数据进行传输才比较快。否则如果传输的数据量巨大,那么传输的过程中请求数据的服务也需要等待,造成等待时间过长,从而不适合采用同步方式进行数据传输。
本实施例对同步传输模式进行了详细阐述,具有实施例一的全部有益效果,并且可实施性更强。
实施例三
图4为本发明实施例三数据传送方法异步模式的流程图。如图4所示,本实施例包括:
步骤S302:数据请求方向数据服务方发送服务请求后,继续进行其他业务;
步骤S304:接收数据请求方的服务请求,当服务请求对应的响应数据获取时间长,数据量大时,确定数据交换模式为异步模式;
步骤S306:数据服务方返回请求成功标志,成功标识包括预估时长、建议定期查询的时间间隔,准备服务请求对应的响应数据;
步骤S308:到达预估时长后,数据请求方按照时间间隔查询响应数据准备进度;
步骤S310:响应数据是否准备完毕,如果是,执行步骤S316;否则执行步骤S312;
步骤S312:数据服务方向数据请求方返回响应数据尚未准备完毕的消息;
步骤S314:数据请求方下一个时间间隔后继续查询,执行步骤S310;
步骤S316:数据服务方返回一个关于何时何地如何获取数据的说明;
步骤S318:数据请求方在接到获取数据的说明之后,按照约定的时间到约定的方式,使用恰当的协议取得数据。
本实施例中,数据请求方不需要长时间的阻塞等待。异步方式适用于被请求的数据产生时间比较长,或者数据量巨大的场合。
步骤S318中,数据请求方按照回应方式获取所需响应数据的步骤具体可以包括:数据请求方直接从数据服务方获取订阅数据;或者数据服务方定期调用数据请求方指定Web服务的接收数据方法,以发送订阅数据到数据请求方。
使用异步方式,不需要长时间的等待与阻塞,数据请求方可以正常运行其他功能,只需要在接到数据准备好信号之后再处理请求的数据。大数据的异步数据交互适合使用专用的文件传输协议,比如FTP或者HTTP协议进行传输。产生响应数据的服务将产生的数据按照一定的格式存成文件,将文件放到可以访问的网络位置,然后将文件访问方式和数据准备好信号告诉请求数据的服务,由请求数据的服务自行或者约定何时获得数据。
本实施例对异步传输模式进行了详细阐述,具有实施例一的全部有益效果,并且可实施性更强。
实施例四
订阅模式中,首先,数据请求方到数据服务方注册自己的联系方式、数据要求及响应方式,数据服务方根据服务请求查找满足要求的数据,按照数据请求方的联系方式和响应方式返回给数据请求方。订阅模式是异步模式的一种特殊形式。订阅方式的具体实现可以有两种方式。
图5为本发明实施例四数据传送方法中第一订阅模式的流程图。如图5所示,本实施例包括:
步骤S402:数据请求方到数据服务方注册自己需要的数据要求信息;
步骤S404:数据服务方返回订阅是否成功的标志,以及建议的定期获取订阅数据的时间间隔;
步骤S406:数据服务方准备服务请求对应的响应数据;
步骤S408:数据请求方按照建议的时间间隔到数据服务方请求数据;
步骤S410:如果有新的订阅数据产生,数据服务方的将新的订阅数据发送至数据请求方。
图6为本发明实施例四数据传送方法中第二订阅模式的流程图。本方式采用了复杂客户端的方式,数据请求方同时也提供一个Web服务。如图6所示,本实施例包括:
步骤S452:数据请求方到数据服务方的注册方法注册自己需要的数据要求信息,以及定期获取订阅数据的时间间隔;
步骤S454:数据服务方返回订阅是否成功的标志;
步骤S456:数据服务方按照时间间隔定期调用数据请求方指定Web服务的接收数据方法,以发送订阅数据到数据请求方。
订阅方式适用于定期传输中、小数据量的场合。订阅方式其实是异步方式的一种,但是加入了定期向订阅方发送数据的功能。异步方式适用于不定期的,突发式的大数据量请求服务,而订阅方式则是两个数据仓库系统之间同步中、小数据量的数据。
本实施例对订阅传输模式进行了详细阐述,具有实施例一的全部有益效果,并且可实施性更强。
实施例五
本实施例将对数据组织方法进行详细描述。数据封装的前提是组织数据,数据必须通过统一的标准进行组织,然后才能作为服务的参数通过网络传输,这样数据的发送方和接收方才能理解数据的含义。具有统一组织标准的数据,还必须可以被方便的操作,这样便于数据的发送方和接收方使用数据。XML数据文件是目前最通用的数据交换文件组织方式,本发明也建议使用XML数据文件作为统一的数据组织形式。
本实施例以经营分析系统中XML格式的请求文件及响应文件为例,对数据组织方法进行详细描述。图7为本发明实施例五XML格式的请求文件结构的示意图。表1为请求文件中各条目的对应信息。
表1:请求文件各条目的对应信息
序号 | 父元素名称 | 元素名称 | 约束 | 类型 | 长度 | 描述 | 取值说明 |
1 | Root | AuthenReq | 1 | 请求认证信息 | 无值标签 | ||
1.1 | AuthenReq | ReqIdentity | 1 | 身份认证信息 | 无值标签 | ||
1.1.1 | ReqIdentity | Position | 1 | 地区信息 | 无值标签 | ||
1.1.1.1 | Position | ProvinceID | 1 | String | V16 | 省ID | |
1.1.1.2 | Position | CityID | 1 | String | V16 | 地市ID | |
1.1.1.3 | Position | CountyID | 1 | String | V16 | 县区ID | |
1.1.2 | ReqIdentity | User | 1 | 用户信息 | 无值标签 | ||
1.1.2.2 | User | ClientID | 1 | String | F10 | 用户ID | |
1.1.2.2 | User | Pass Word | 1 | String | V12 | 用户口令 | |
1.1.3 | ReqIdentity | System | 1 | 系统信息 | 无值标签 | ||
1.1.3.1 | System | SystemID | 1 | String | V20 | 系统ID | |
1.1.3.2 | System | SubSystemID | 1 | String | V20 | 子系统ID | |
1.1.3.3 | System | FunctionID | 1 | String | V20 | 功能ID | |
1.2 | AuthenReq | ReqType | 1 | String | F3 | 请求类型 | 对应三种信息交换模式 |
2 | Root | BodyReq | 1 | 请求信息 | 无值标签 | ||
2.1 | BodyReq | ReqData | 1 | 请求数据明文 | 无值标签,具体组织参看标准服务列表 |
注:约束部分的符号,1代表必须存在;+代表1至多;*代表0至多;?代表0或1;
长度部分的符号,F代表固定长度,V代表不固定长度。
所编写的XML格式的请求文件如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<AuthenReq>
<ReqIdentity>
<Position>
<ProvinceID>....</ProvinceID>
<CityID>....</CityID>
<CountyID>....</CountyID>
</Position>
<User>
<ClientID>....</ClientID>
<Password>...</Password>
</User>
<System>
<SystemID>...</SystemID>
<SubSystemID>...</SubSystemID>
<FunctionID> ...</FunctionID>
</System>
</ReqIdentity>
<ReqType>...</ReqType>
</AuthenReq>
<BodyReq>
<ReqData>
</ReqData>
</BodyReq>
图8为本发明实施例五XML格式的响应文件结构的示意图。表2为响应文件中各条目的对应信息。
表2:响应文件各条目的对应信息
序号 | 父元素名称 | 元素名称 | 约束 | 类型 | 长度 | 描述 | 取值说明 |
1 | AuthenResp | 1 | 认证回复信息 | 无值标签 | |||
1.1 | AuthenResp | AuthenFlag | 1 | Boolean | F1 | 认证成功标志 | T表示成功,F表示失败 |
1.2 | AuthenResp | AuthenReceipt | 1 | String | V100 | 认证说明 | 本次认证未能成功的说明 |
2 | BodyResp | 1 | 回复信息 | 无值标签 | |||
2.1 | BodyResp | RespData | 1 | 回复数据明文 | 具体组织参看标准服务列表 |
注:约束部分的符号,1代表必须存在;+代表1至多;*代表0至多;?代表0或1;
长度部分的符号,F代表固定长度,V代表不固定长度
所编写的XML格式的响应文件如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<AuthenResp>
<AuthenFlag>...</AuthenFlag>
<AuthenReceipt>...</AuthenReceipt>
</AuthenResp>
<BodyResp>
<RespData>
</RespData>
</BodyResp>
本实施例对采用XML文件统一请求文件和响应文件格式进行了详细阐述,具有实施例一的全部有益效果,并且增强了数据传送系统的可扩展性,可实施性更强。
实施例六
图9为本发明实施例六数据传送服务装置的示意图。如图9所示,本实施例数据传送服务装置包括:接收模块604,用于接收数据请求方的服务请求,根据服务请求中包含的服务类型确定数据交换模式;获取模块606,用于获取服务请求对应的响应数据;封装模块608,用于通过预设的的数据组织形式封装响应数据;发送模块610,用于将响应数据通过数据交换模式发送至数据请求方。
本实施例中,接收模块604还可以进一步可以包括请求子模块和判断子模块。其中,请求子模块,用于接收数据请求方的服务请求;判断子模块,用于当服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式;当服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
本实施例中,还可以包括:发布模块602,用于数据服务方和数据请求方预先约定服务类型及对应的数据交换模式,并用于预先约定数据服务方和数据请求方采用XML文件作为数据组织形式;封装模块,用于通过XML文件格式封装响应数据。此外,本实施例中数据请求也可以为通过XML文件格式封装的。
本实施例实现的方法可以参照实施例一的相关说明,并且具有实施例一的全部有益效果,此处不再重述。
实施例七
本实施例公开了一种数据传送的请求装置,包括:发送模块,用于接收到服务请求时,根据根据服务请求对应的服务类型,确定数据交换模式,通过所述数据交换模式发送所述服务请求至数据服务方;解封装模块,用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装所述响应数据。
所述发送模块还可以包括:封装子模块,用于当接收到服务请求时,根据预先约定的数据组织形式封装所述服务请求。
本实施例数据传送的请求装置与实施例六的数据传送服务装置相对应,前者位于数据请求方,后者位于数据服务方。本实施例实现的方法可参照实施例一-五的相关说明,并具有上述实施例的有益效果,此处不再重述。
实施例八
图10为本发明实施例八数据传送系统的示意图。如图10所示,本实施例提供了一种数据传送系统,包括数据请求方和数据服务方,其中:
数据请求方,用于当接收到服务请求时,根据根据服务请求对应的服务类型,确定数据交换模式,通过所述数据交换模式发送所述服务请求至数据服务方;并用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装所述响应数据;
数据服务方,包括数据库和数据传送服务装置,其中,数据库,用于存储服务请求对应的数据;数据传送服务装置,用于接收数据请求方的服务请求,根据服务请求对应的服务类型确定数据交换模式,从数据库中获取服务请求对应的响应数据,通过预设的XML格式组织响应数据,将响应数据通过数据交换模式发送至数据请求方。
本实施例中,数据数据传送装置可以为实施例六中的数据传送装置。此处不再详细叙述。
此外,本实施例中,数据传送装置的发布模块,用于数据服务方和数据请求方预先约定服务类型及对应的数据交换模式,并用于预先约定数据服务方和数据请求方采用XML文件作为数据组织形式;数据传送装置的封装模块,用于通过XML文件格式封装响应数据;数据请求方对应包括:解封装模块,用于进行XML数据组织形式响应数据的解封装。
此外,封装完成之后的数据还需要对其进行管理,本实施例数据服务方还可以包括:服务管理平台,用于负责数据的安全管理、注册查找和路由、容灾和负荷分担、日志和计费。服务管理平台的功能包括:安全管理、注册查找和路由、容灾和负荷分担、日志和计费。服务管理平台避免了直接把数据仓库系统中的数据暴露给多个外部应用,降低了数据的安全风险和管理代价。该情况下,在数据传送方法中,客户端首先访问数据管理平台,由服务管理平台严格控制对目标服务的访问,保证数据访问的安全性和高效率。
本实施例实现的方法可以参照实施例七的相关说明,并具有实施例七的全部有益效果,此处不再重述。此外,本实施例数据传送系统还提供了服务管理平台,进一步增强了数据访问的安全性和高效率。
实施例九
数据传送方式采用的技术包括基于JAVA和基于.Net两种。上述方式的优点是实现简单、访问数据灵活、通用性好、提供的技术支持丰富,缺点则是效率略低。
图11为本发明实施例九基于Web服务的数据传送系统的示意图。本实施例将客户端向数据源的数据访问封装成了Web服务,数据源和Web服务共同构成了数据服务方。其中,客户端相当于上述实施例的数据请求方,数据源相当于上述实施例的数据库,Web服务相当于上述实施例的数据传送装置。本实施例包括:
步骤S902:Web服务发布WSDL文件至各客户端,其中WSDL文件中包含数据服务方所提供的服务及对应的数据交换模式;
步骤S904:根据上述WSDL文件,客户端根据发起服务请求,服务请求以XML文件传递给Web服务,服务请求文件的格式和内容如实施例五的图7、表一所示;
步骤S906:Web服务调用后台的数据处理类来实现数据交换模式的处理逻辑;
步骤S908:数据处理类连接数据源来获取相应数据;
步骤S810:数据处理类将数据返回给Web服务;
步骤S912:Web服务的该操作将数据加工成我们规定XML格式的数据文件,返回给客户端,服务响应文件的格式和内容见实施例五的图8、表二所示;
步骤S914:客户端获取数据文件并解析,供业务逻辑使用。
本实施例对基于Web服务的数据服务进行了详细描述,各步骤实现的具体细节可参照实施例二-实施例五的相关说明,并具有上述实施例的全部有益效果,并且可实施性更强。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、光盘、网络节点、调度器、数据库等各种可以存储程序代码的介质。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种数据传送方法,其特征在于,包括:
数据服务方接收数据请求方的服务请求,根据所述服务请求中包含的服务类型确定数据交换模式;
数据服务方获取所述服务请求对应的响应数据,通过预设的数据组织形式封装所述响应数据;
数据服务方将所述响应数据通过所述数据交换模式发送至数据请求方;
其中,所述根据服务请求中包含的服务类型确定数据交换模式的步骤中:
当所述服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;
当所述服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式。
2.根据权利要求1所述的方法,其特征在于,所述根据服务请求中包含的服务类型确定数据交换模式的步骤中:
当所述服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
3.根据权利要求1中所述的方法,其特征在于,所述接收数据请求方的服务请求的步骤之前还包括:
数据服务方和数据请求方预先约定服务类型及对应的数据交换模式。
4.根据权利要求1所述的方法,其特征在于,所述接收数据请求方的服务请求的步骤之前还包括:
数据服务方和数据请求方预先约定采用XML文件作为数据组织形式;
对应地,所述接收数据请求方的服务请求的步骤中,所述服务请求采用XML文件作为数据组织形式;
对应地,所述通过预设的数据组织形式封装响应数据的步骤包括:所述响应数据采用XML文件作为数据组织形式;
对应地,所述将响应数据通过数据交换模式发送至数据请求方的步骤之后还包括:数据请求方进行XML数据组织形式响应数据的解封装。
5.根据权利要求1所述的方法,其特征在于,所述数据交换模式为同步模式时,所述接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求,等待;
所述将响应数据通过所述数据交换模式发送至数据请求方的步骤之后还包括:数据请求方接收响应数据,继续运行。
6.根据权利要求1所述的方法,其特征在于,所述数据交换模式为异步模式时,所述接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求后,继续进行其他业务;
接收数据请求方的服务请求的步骤之后还包括:返回服务请求成功标志,所述成功标识包括预估时长、建议定期查询的时间间隔;
所述将响应数据通过所述数据交换模式发送至数据请求方的步骤具体包括:到达预估时长后,数据请求方向数据服务方按照所述时间间隔查询响应数据准备进度;如果响应数据未准备完毕,则下一个时间间隔后继续查询;如果响应数据准备完毕,则按照异步模式接收数据服务方的响应数据。
7.根据权利要求2所述的方法,其特征在于,所述数据交换模式为订阅模式时,所述接收数据请求方的服务请求的步骤之前还包括:数据请求方向数据服务方发送服务请求,所述服务请求包括注册信息及回应方式;
接收数据请求方的服务请求的步骤之后还包括:返回注册成功的标识;
所述将响应数据通过所述数据交换模式发送至数据请求方的步骤具体包括:数据请求方按照所述回应方式获取所需响应数据。
8.根据权利要求7所述的方法,其特征在于,所述数据请求方按照所述回应方式获取所需响应数据的步骤具体包括:
数据请求方直接从数据服务方获取订阅数据;
或者数据服务方定期调用数据请求方指定Web服务的接收数据方法,以发送订阅数据到数据请求方。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述数据请求方为其他数据仓库系统或者业务系统。
10.一种数据传送的服务装置,其特征在于,位于数据服务方,包括:
接收模块,用于接收数据请求方的服务请求,根据所述服务请求中包含的服务类型确定数据交换模式;
获取模块,用于获取所述服务请求对应的响应数据;
封装模块,用于通过预设的数据组织形式封装所述响应数据;
发送模块,用于将所述响应数据通过所述数据交换模式发送至数据请求方。
其中,所述接收模块具体包括:
请求子模块,用于接收数据请求方的服务请求;
判断子模块,用于当所述服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当所述服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式;当所述服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
11.根据权利要求10所述的装置,其特征在于,还包括:
发布模块,用于数据服务方和数据请求方预先约定服务类型及对应的数据交换模式。
12.根据权利要求11所述的装置,其特征在于:
所述发布模块,还用于数据服务方和数据请求方预先约定采用XML文件作为数据组织形式;
所述封装模块,用于通过XML文件格式封装所述响应数据。
13.一种数据传送的请求装置,其特征在于,位于数据请求方,包括:
发送模块,用于当接收到服务请求时,根据服务请求对应的服务类型,确定数据交换模式,通过所述数据交换模式发送所述服务请求至数据服务方;其中,所述根据服务请求对应的服务类型,确定数据交换模式,具体包括:当所述服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当所述服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式;
解封装模块,用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装所述响应数据。
14.根据权利要求13所述的装置,其特征在于:
所述数据组织形式为XML文件格式;
所述数据交换模式包括:同步模式、异步模式,和/或订阅模式。
15.一种数据传送系统,其特征在于,包括数据请求方和数据服务方,其中:
数据请求方,用于当接收到服务请求时,根据服务请求对应的服务类型,确定数据交换模式,通过所述数据交换模式发送所述服务请求至数据服务方;并用于接收到数据服务方提供的响应数据后,根据预先约定的数据组织形式解封装所述响应数据;
数据服务方,包括数据库和数据传送服务装置,其中,数据库,用于存储所述服务请求对应的数据;数据传送服务装置,用于接收数据请求方的服务请求,根据所述服务请求中包含的服务类型确定数据交换模式,从所述数据库中获取所述服务请求对应的响应数据,通过预设的数据组织形式封装所述响应数据,将所述响应数据通过所述数据交换模式发送至数据请求方。
其中,所述数据传送服务装置包括:
接收模块,用于接收数据请求方的服务请求,根据所述服务请求中包含的服务类型确定数据交换模式,所述数据交换模式包括:同步模式、异步模式,和/或订阅模式;
所述接收模块具体包括:
请求子模块,用于接收数据请求方的服务请求;
判断子模块,用于当所述服务类型对应响应数据的产生时间小于预设的时间阈值,且数据量小于预设的流量阈值时,对应的数据交换模式为同步模式;当所述服务类型对应响应数据的产生时间大于预设的时间阈值,或数据量大于预设的流量阈值时,对应的数据交换模式为异步模式;当所述服务类型对应响应数据为定期获取类型时,对应的数据交换模式为订阅模式。
16.根据权利要求15所述的系统,其特征在于,所述数据传送服务装置还包括:
获取模块,用于获取所述服务请求对应的响应数据;
封装模块,用于通过预设的数据组织形式封装所述响应数据;
发送模块,用于将所述响应数据通过所述数据交换模式发送至数据请求方。
17.根据权利要求15-16中任一项所述的系统,其特征在于,所述数据传送服务装置还包括:
发布模块,用于数据服务方和数据请求方预先约定服务类型及对应的数据交换模式。
18.根据权利要求17所述的系统,其特征在于,
所述发布模块,还用于预先约定数据服务方和数据请求方采用XML文件作为数据组织形式;
所述封装模块,用于通过XML文件格式封装所述响应数据;
所述数据请求方对应包括:解封装模块,用于进行XML数据组织形式响应数据的解封装。
19.根据权利要求15-16中任一项所述的系统,其特征在于,所述数据服务方还包括:
服务管理平台,用于负责所述数据的安全管理、注册查找和路由、容灾和负荷分担、日志和计费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910089512.9A CN101964739B (zh) | 2009-07-22 | 2009-07-22 | 数据传送方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910089512.9A CN101964739B (zh) | 2009-07-22 | 2009-07-22 | 数据传送方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101964739A CN101964739A (zh) | 2011-02-02 |
CN101964739B true CN101964739B (zh) | 2014-03-26 |
Family
ID=43517482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910089512.9A Active CN101964739B (zh) | 2009-07-22 | 2009-07-22 | 数据传送方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101964739B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117983B (zh) * | 2011-11-16 | 2015-11-04 | 中国移动通信集团公司 | 数据服务请求应答方法和数据服务协议栈的设计方法 |
CN102708110A (zh) * | 2012-01-13 | 2012-10-03 | 广东电网公司电力科学研究院 | 一种基于准实时数据平台的数据访问方法 |
CN103442084B (zh) * | 2013-09-10 | 2017-02-22 | 杭州万格网络科技有限公司 | 交换数据、获取与感知服务的数据箱系统及其使用方法 |
CN106610985A (zh) * | 2015-10-23 | 2017-05-03 | 镇江金软计算机科技有限责任公司 | 一种信息发布系统 |
CN105306579A (zh) * | 2015-11-11 | 2016-02-03 | 盛趣信息技术(上海)有限公司 | 服务器接口配置方法及服务器 |
CN106934703A (zh) * | 2015-12-28 | 2017-07-07 | 航天信息股份有限公司 | 税务数据处理方法及税控服务器 |
CN105610965A (zh) * | 2016-01-21 | 2016-05-25 | 广东电网有限责任公司 | 基于osb接口规范的跨系统批量数据传输方法 |
CN109446180B (zh) * | 2018-10-18 | 2021-07-02 | 郑州云海信息技术有限公司 | 一种用于配置云数据平台的方法和装置 |
CN109193592B (zh) * | 2018-10-23 | 2020-05-05 | 中国南方电网有限责任公司 | 继电保护信息系统之间的继电保护数据传送方法 |
CN109460912B (zh) * | 2018-10-31 | 2021-06-29 | 泰康保险集团股份有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN109788073A (zh) * | 2019-03-11 | 2019-05-21 | 四川长虹电器股份有限公司 | 一种Web系统中文件下载的方法 |
CN110134036A (zh) * | 2019-04-26 | 2019-08-16 | 深圳市龙控智能技术有限公司 | 一种串口数据采集轮询的方法、监控系统及存储介质 |
CN111917511B (zh) * | 2020-07-06 | 2024-01-30 | 青岛海尔科技有限公司 | 一种数据的接收方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630235A (zh) * | 2003-12-15 | 2005-06-22 | 华为技术有限公司 | 基于消息的分布式平台的客户端反映任务进度的方法 |
CN1794692A (zh) * | 2005-11-25 | 2006-06-28 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
-
2009
- 2009-07-22 CN CN200910089512.9A patent/CN101964739B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630235A (zh) * | 2003-12-15 | 2005-06-22 | 华为技术有限公司 | 基于消息的分布式平台的客户端反映任务进度的方法 |
CN1794692A (zh) * | 2005-11-25 | 2006-06-28 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101964739A (zh) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101964739B (zh) | 数据传送方法、装置及系统 | |
CN102136933B (zh) | 设备管理方法、中间件及机器通信平台、设备和系统 | |
CN1708755B (zh) | 用于同步为处理中断的同步过程而提供的数据的方法、设备和系统 | |
CN104660682B (zh) | 一种基于td-lte的opc数据采集与监控智能终端 | |
CN102333029B (zh) | 一种服务器集群系统中的路由方法 | |
CN105429858A (zh) | 一种多机器人间实时消息传递方法 | |
US8346209B2 (en) | Remote meter reading using the existing mobile network | |
CN109889416A (zh) | 一种基于微服务架构的智能家居系统及构建方法 | |
CN100477658C (zh) | 通信服务器并发处理大数据量的方法 | |
CN102802139A (zh) | 一种物联网网关数据适配系统及方法 | |
CN102202102A (zh) | 基于云计算架构的网络服务聚合系统及其聚合方法 | |
CN204598011U (zh) | 一种基于td-lte的opc数据采集与监控智能终端 | |
CN101609415A (zh) | 基于中间件的通用服务调用系统及方法 | |
CN104811482A (zh) | 终端数据分类存储方法及系统 | |
CN101986614B (zh) | 一种面向物流应用的通用行业服务总线系统及其实现方法 | |
CN111970363B (zh) | 基于物联网的数据处理方法及装置 | |
Zhang et al. | Research on the overall architecture of Internet of Things middleware for intelligent industrial parks | |
CN104394209A (zh) | 一种用于分布式能源管理的实时库数据传输方法 | |
CN101360034B (zh) | 一种数字家庭数据交换中间件 | |
KR20130126444A (ko) | 사용자 식별 정보를 이용한 컨테이너 자원의 구성 방법, 기록 매체 및 그 장치 | |
CN112583937A (zh) | 一种公有云和私有云结合的可视化便捷云资源部署系统 | |
CN102281584A (zh) | 一种物联网能力的实现方法及系统 | |
CN113641765B (zh) | 面向巨量多源遥感数据的统一逻辑模型组织方法及其装置 | |
CN103533094A (zh) | 标码一体机及标码系统 | |
CN102523580A (zh) | 一种m2m业务终端数据处理方法、m2m业务卡和m2m终端数据处理卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |