基于网络数据和消息中间件的快速开发方法和业务系统技术方案

技术编号:14514938 阅读:82 留言:0更新日期:2017-02-01 16:22
本发明专利技术提供了一种基于网络数据和消息中间件的快速开发方法和业务系统,包括:其采用网络镜像的方法得到焦点服务的网络数据,利用分析方法得到服务数据从而形成新的数据源,以统一的消费方式提供给其他软件和系统消费和使用。因此,本发明专利技术屏蔽了实际服务化环境中存在的各种焦点服务的差异,消费者以统一的方式进行消费,最简单情况下只需要支持一种消费方式,就能得到系统中的所有被镜像的焦点服务的数据,因而,大大简化了消费这种数据源的软件所需的开发和调试等成本。

【技术实现步骤摘要】

本专利技术涉及软件系统,具体地,涉及基于网络数据和消息中间件的快速开发方法和业务系统。
技术介绍
如何在网络化环境和服务化环境中,加速软件开发,加速业务系统上线是一个非常困难但又非常重要的问题。目前还没有好的解决方案。一方面,软件系统一直朝着服务化、微服务化不断演变。这是一种追求专业化,进行功能解耦,进而提高效率的发展带来的必然趋势。同时这种变化还带来更好的维护性,更高的可用性等好处。另一方面,目前虚拟化技术和容器技术的蓬勃发展,加速了这种趋势:服务被划分得越来越细,每个服务变得越来越轻量,以易于调度,可以被快速地创建、迁移、或者销毁,从而适应跟随计算资源和网络资源等变化而变化的需求,提供可靠的、高质量的整体业务能力。同时,显而易见的,这种服务化主要都是基于网络通讯进行的,也是网络化的。而对于真实的业务需求来说,服务化和微服务化带来的只是处理流程的改变,但实际的输入数据并不能减少。举例来说,一次用户网购的交易,非服务化系统和服务化系统,同样都需要用户个人数据(包括用户标识和认证信息,信用卡信息等)、商户数据、商品的信息数据、交易数据(包括消费的时间和金额等)等等。同时对于服务化系统来说,这些数据一般不是单一数据源提供的,而是多个不同的服务提供。因此,处理这些数据之前,首先需要进行多种不同的服务调用,可能得到多种不同格式和不同组织方式的数据,然后需要进行大量的规整工作,最后才能进行计算和处理。这个事实,可以从如今数不胜数的序列化方法(例如XML/SOAP、JSON/BSON、ProtocolBuffer、Messagepack、JVM序列化等等)和数不胜数的消息中间件(ActiveMQ、RebbitMQ、ApacheQpid、ZeroMQ、Kafka、Redis、ApacheAkka等等)中观察到。同时有更多数不胜数的用户自定义协议运行在共有或者私有网络上。所以,软件开发中面临着大量不同数据源带来的亟待解决的复杂性。同时,随着服务的细分和增加,这种复杂性是几何级数增加的。消息中间件的使用,或者说是某些消息中间件的流行和普及,一定程度降低数据源的复杂度。因为这些消息中间件一方面规范使用双方各自的通讯模型,譬如“队列模型”(queuing)或者“发布者/订阅者模型”(publish-subscribe),另一方面统一了底层的传输通讯,譬如提供若干种序列化方法并定义了传输协议。所以,消息中间件的使用,事实上是减少了自定义(包括服务调用模型、或者序列化方法、或者通讯协议等等)的非通用的数据源。但对于软件开发来说,数据源的复杂性仍旧在多个层面上没有解决:1)数据源仍然非常复杂。这是因为一方面已经存在大量的自定义协议形成的非通用数据源,另一方面即使是中间件,或者非常流行的中间件,也有多达几十种。因此,开发一个使用在网络化和服务化环境中的软件或者系统,往往还是非常复杂:需要梳理和理解所需的数据源该如何取得,然后需要集成或者开发大量通用或者非通用的数据获取模块,然后还有大量个案的不可避免的系统间联调。随着系统上线,复杂的数据源支持,加剧了维护的难度和成本。2)数据在源源不断地生成,但没有提供给外部第三方使用的有效接口。一方面这是因为有些数据源可能是封闭的,并没有将数据提供给第三方来消费和处理的数据能力。另一方面是由于局限于该数据源的处理能力和机制,有些数据有时间延迟、准确性、或者精确性的局限性。也就是有说,数据源可以提供数据,但提供的数据都有缺陷,譬如要么是过滤的、要么只有统计、要么是时间延迟的、要么颗粒度大。这两种原因情况下,开发需要消费这些数据源的软件,都需要和数据提供方进行商讨,等待数据源的改造。所以这个开发过程会非常延缓和耗时。同时这种改造很大程度上对现有数据源造成影响。3)数据处理能力匹配的问题。譬如上游数据源提供了非常大量的数据,或者存在波峰波谷的差异,而开发的软件来不及消费这些数据的话,就需要增加各种机制来处理,譬如丢弃、譬如缓存和后处理等等。这大大带来了开发软件的复杂性和可靠性。4)数据源使用的副作用。譬如,对于数据源带来了处理性能下降的问题,有譬如有些数据会改变数据源的自身状态等等。因此实际开发过程中往往要搭建一个复杂的测试环境,来模拟真实环境,从而进行开发。显然这种方案首先是成本很高,同时模拟数据和真实环境比总有区别,还是不能避免将来系统运行在真实环境中的问题。5)数据源依赖性带来的矛盾。一旦数据源的服务发生改变,所有依赖这个服务的数据的系统都可能需要调整或者改动。即使这个改变是向下兼容的,不影响之前的使用,但消费这些数据源的软件或者系统如果不做相应的改变,进行开发,一般无法获得上游服务升级带来的优势。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于网络数据和消息中间件的快速开发方法和业务系统。本专利技术要解决的技术问题体现在以下几点:1)本专利技术对于服务化环境,采用网络镜像的方法(譬如物理交换机镜像或复制,或者虚拟交换机的镜像或复制等)得到焦点服务(用户关注的需要作为数据源提供数据的服务)的网络数据报文,利用分析方法(譬如协议报文解码、统计分析、数据挖掘、机器学习、流计算分析等)得到服务数据(譬如通讯数据、交易数据、业务数据等)从而形成新的数据源,以统一的消费方式(譬如各种消息中间件等)提供给其他软件和系统消费和使用。因此,本专利技术屏蔽了实际服务化环境中存在的各种焦点服务的差异(譬如模型和通讯),本专利技术的消费者(使用本专利技术提供的数据作为数据源消费端的软件或者系统)以统一的方式进行消费,最简单情况下只需要支持一种消费方式(譬如集成或者开发某一种消息中间件),就能得到系统中的所有被镜像的焦点服务的数据,因而,大大简化了消费这种数据源的软件所需的开发和调试等成本。2)本专利技术提供的统一的消费方式数据源,大大降低了基于这个数据源开发的软件和系统的复杂性,从而提高了软件和系统可靠性,同时减少了后续维护成本。3)本专利技术是通过网络镜像的方法得到焦点服务的网络数据报文,然后分析和处理形成新的数据源,因此本专利技术是旁路的,对现有服务化环境的业务没有影响。因此,本专利技术也不受制于现有焦点服务是否提供数据能力。因此,本专利技术没有数据时延、准确性、或者精确性的局限性。4)本专利技术是真实环境内的旁路系统,因此采用本专利技术的方法进行开发,不需要另建测试系统,进行模拟真实环境的高成本投入,完全可以在生产环境直接上线运行和调试。5)本专利技术可以在得到镜像网络数据之后和在分析得到服务数据之后,可配置地,进行网络数据的存储和服务数据的存储,然后按需以批量的方式再次分析计算后或者直接,输出给本专利技术的消费者(使用本专利技术提供的数据作为数据源消费端的软件或者系统)进行处理。因此以统一的方案支持按需回放,一方面解决了数据源和消费者之间的处理性能或者处理空间的失配问题带来的复杂性(因此消费者不需要进行诸如“削峰填谷”的冗余设计和处理),另一方面提供了使用方面多个场景(开发、测试、验收、系统上线等)的灵活性,从而提高了开发速度和效率。根据本专利技术提供的一种基于网络数据和消息中间件的快速开发方法,包括:网络镜像步骤:对服务进行网络镜像,得到镜像的网络数据;基于网络数据和消息中间件的快速开发方法,还包括:-消息中间件输出步骤:通过消息中间件提供本文档来自技高网
...

【技术保护点】
一种基于网络数据和消息中间件的快速开发方法,其特征在于,包括:网络镜像步骤:对服务进行网络镜像,得到镜像的网络数据;基于网络数据和消息中间件的快速开发方法,还包括:‑消息中间件输出步骤:通过消息中间件提供所述网络数据和/或服务数据;和/或‑直接输出步骤:将服务数据直接输出给数据库;基于网络数据和消息中间件的快速开发方法,进一步还包括:‑数据分析步骤;和/或‑网络数据存储步骤;其中:数据分析步骤:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;网络数据存储步骤:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析步骤进行分析或者提供给消息中间件进行发送。

【技术特征摘要】
1.一种基于网络数据和消息中间件的快速开发方法,其特征在于,包括:网络镜像步骤:对服务进行网络镜像,得到镜像的网络数据;基于网络数据和消息中间件的快速开发方法,还包括:-消息中间件输出步骤:通过消息中间件提供所述网络数据和/或服务数据;和/或-直接输出步骤:将服务数据直接输出给数据库;基于网络数据和消息中间件的快速开发方法,进一步还包括:-数据分析步骤;和/或-网络数据存储步骤;其中:数据分析步骤:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;网络数据存储步骤:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析步骤进行分析或者提供给消息中间件进行发送。2.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,包括:服务数据存储步骤:存储分析得到的服务数据,并将存储的所述服务数据作为按需回放数据提供给消息中间件进行发送。3.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,所述数据分析步骤包括:协议报文解码子步骤:从网络数据的网络数据报文中分析得到协议的消息;交易分析子步骤:根据焦点服务的业务特征,将所述协议的消息关联成服务的交易;统计分析子步骤:将所述协议的消息和所述服务的交易进行统计分析,得到服务数据。4.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,在网络镜像步骤中,根据服务的物理和/或虚拟配置信息进行网络的镜像设置,仅将需要镜像的网络数据,复制到镜像端口或者线路上;服务的配置信息包括如下任一种或任多种信息:-服务端的标识;-服务端的标识、服务端口;-服务端的标识、服务端口、客户端的IP地址范围;服务的配置信息还包括VLAN或者MPLS;其中,所述服务端的标识是指服务端的IP地址或者主机名。5.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,具有如下任一种或任多种技术特征:-所述服务是指焦点服务,其中,所述焦点服务是指用户需要作为数据源提供数据的服务;-所述数据分析步骤包括:数据挖掘子步骤;其中,所述数据挖掘子步骤:对协议的消息、服务的交易、服务数据,进行分析;-在数据分析步骤中,根据服务对所述网络数据进行过滤;-在消息中间件输出步骤中,根据服务对所述网络...

【专利技术属性】
技术研发人员:蔡晓华杨光辉
申请(专利权)人:上海天旦网络科技发展有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1