CN107229566A - 用于soa服务转换语言保持功能一致性的方法及*** - Google Patents
用于soa服务转换语言保持功能一致性的方法及*** Download PDFInfo
- Publication number
- CN107229566A CN107229566A CN201710423127.8A CN201710423127A CN107229566A CN 107229566 A CN107229566 A CN 107229566A CN 201710423127 A CN201710423127 A CN 201710423127A CN 107229566 A CN107229566 A CN 107229566A
- Authority
- CN
- China
- Prior art keywords
- soa
- newspeak
- service
- services
- request messages
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种用于SOA服务转换语言保持功能一致性的方法及***,其中方法包括:S1、新旧语言服务同时部署在相同生产环境,旧语言服务接收客户端的服务请求报文;S2、旧语言服务按第一预设比例将服务请求报文发送至新语言服务;S3、新旧语言服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文,并记录同样的服务请求报文及相应的服务响应报文;S4、判断S3中同样的服务请求报文相应的服务响应报文是否匹配,若否,则优化新语言服务,然后返回S1;S5、将新语言服务上线,接收并处理客户端的服务请求报文。本发明能快速定位服务响应差异,大幅度减少人工测试,保障***框架重构正确性,保证新语言服务快速投入生产。
Description
技术领域
本发明涉及软件信息***领域,特别涉及一种用于SOA服务转换语言保持功能一致性的方法及***。
背景技术
信息***随着业务的发展,企业从成本及语言开放性的角度,可能会考虑更换已有***的编程语言,如从C#语言更换为Java语言,对编程语言的更换,除了语言语法上的更换,开发人员多数情况下也会进行框架的升级改造,使代码质量及可读性方面得到提升,但无论多大的改动,改造的最终结果都是:新语言服务所提供的业务功能都要与旧语言服务所提供的业务功能保持一致。
SOA(Service Oriented Architecture,面向服务的架构)作为一个成熟的软件***开发架构,在企业中有广泛的应用,SOA服务进行更换编程语言有与信息***更换语言的共性如SOA服务更换编程语言后也一般采用人工比对测试来保障更换语言前后的业务服务功能一致,但也有其自身特点,如SOA服务通过契约报文来交换数据,服务的语言无关性,客户端不会感知到服务的动态调整等特点,在更换语言同时维持业务的一致性方面将面临着巨大的挑战:如何快速定位服务响应的差异,大幅度减少人工测试,保障***框架得以重构,保证新语言开发的***较快地投入生产以及新语言服务运行的稳定性。
发明内容
本发明要解决的技术问题是为了克服现有技术中需要依靠大量人工对比测试,不能很好地快速定位服务响应的差异,不能很好地保障***框架得以重构,不能很好地保证新语言开发的SOA服务快速地投入生产的缺陷,提供一种用于SOA服务转换语言保持功能一致性的方法及***。
本发明是通过下述技术方案来解决上述技术问题:
一种用于SOA服务转换语言保持功能一致性的方法,包括以下步骤:
S1、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;
S2、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;
S3、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
S4、判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则执行步骤S5;
S5、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。
较佳地,所述步骤S5具体包括:将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文;
所述方法在步骤S5之后还包括:
S6、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;
S7、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
S8、判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致,
若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,
若是,则判断所述第二预设比例是否为100%,若是,则执行步骤S9,若否,则提升所述第二预设比例,然后返回步骤S5;
S9、将所述旧语言SOA服务下线。
较佳地,所述步骤S2具体包括:
S21、所述旧语言SOA服务建立第一异步消息队列;
S22、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入到所述第一异步消息队列;
S23、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述步骤S6具体包括:
S61、所述新语言SOA服务建立第二异步消息队列;
S62、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入到所述第一异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入到所述第二异步消息队列;
S63、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。
较佳地,
所述步骤S4中,所述判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;
所述步骤S8中,所述判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。
一种用于SOA服务转换语言保持功能一致性的***,包括旧语言SOA服务、新语言SOA服务、记录模块、第一判断模块,
所述旧语言SOA服务、所述新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务用于接收客户端的服务请求报文,并按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;
所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块用于记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;
所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否匹配,当判断为否时,则对所述新语言SOA服务进行优化,当判断为是时,则所述新语言SOA服务上线,接收并处理客户端的服务请求报文。
较佳地,所述***还包括第二判断模块,
所述新语言SOA服务上线后按第二预设比例接收并处理客户端的服务请求报文;
所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;
所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块用于分别记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文和所述新语言SOA服务发送给所述旧语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;
所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否一致,
当判断为否时,则对所述新语言SOA服务进行优化,
当判断为是时,则调用所述第二判断模块,所述第二判断模块用于判断所述第二预设比例是否为100%,若是,则将所述旧语言SOA服务下线,若否,则提升所述第二预设比例。
较佳地,
所述旧语言SOA服务包括第一异步消息队列、第一后台线程,所述旧语言SOA服务建立所述第一异步消息队列,
所述新语言SOA服务上线前,所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入所述第一异步消息队列,所述第一后台线程用于将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述新语言SOA服务上线后,所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入所述第一异步消息队列,所述第一后台线程用于将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述新语言SOA服务包括第二异步消息队列、第二后台线程,所述新语言SOA服务建立所述第二异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入所述第二异步消息队列,所述第二后台线程用于将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。
较佳地,
所述新语言SOA服务上线前,所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;
所述新语言SOA服务上线后,所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。
本发明的积极进步效果在于:本发明通过定量对比分析新旧语言SOA服务的响应报文来快速定位服务响应差异并根据差异情况来优化新语言SOA服务,从而可大幅度减少前期的人工测试,很好地保障***框架重构的正确性,保证新语言SOA服务的开发效率并快速投入生产。另外,新旧语言的SOA服务在一定时期内共同运行,通过新旧语言SOA服务的相互监督对比进一步保障新语言SOA服务运行的稳定性。
附图说明
图1为本发明的实施例1的用于SOA服务转换语言保持功能一致性的方法的流程图。
图2为本发明的实施例2的用于SOA服务转换语言保持功能一致性的方法的流程图。
图3为本发明的实施例3的用于SOA服务转换语言保持功能一致性的***的示意图。
图4为本发明的实施例4的用于SOA服务转换语言保持功能一致性的***的示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例的用于SOA服务转换语言保持功能一致性的方法,如图1所示,包括:
步骤101、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;
本实施例中,鉴于客户端每天近千万次的服务请求,为确保服务准确性,在所述步骤101中新语言SOA服务暂不接收和处理客户端的服务请求,仅旧语言SOA服务接收并处理客户端的服务请求。
步骤102、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;
本实施例在具体实施中,所述步骤102中的第一预设比例可根据后续步骤中所述新语言SOA服务、所述旧语言SOA服务对同样的服务请求报文的服务响应差异情况通过参数配置来进行设定,比如鉴于所述新语言SOA服务刚完成开发,在早期阶段可将第一预设比例设置得低一点,如5%;而在运行监测一段时间后可将第一预设比例设置得高些,如10%、20%、50%、甚至为100%。
步骤103、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
步骤104、判断步骤103中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤101,若是,则执行步骤105;
本实施例在具体实施中,所述判断步骤103中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的业务逻辑是否一致。若经判断,所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在业务逻辑上不一致,此时可通过人工查找及分析业务逻辑不一致的原因,然后根据具体原因对所述新语言SOA服务进行优化,然后返回步骤101;若经判断,所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在业务逻辑上保持一致,则在经一段时间的运行监测,比如运行监测1-2个月后,若所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在业务逻辑上仍旧能保持一致,可认为所述新语言SOA服务已具备上线服务要求,即可以执行步骤105。
步骤105、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。
本实施例中,经过上述步骤101-105后,通过定量对比分析所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文所响应生成的响应报文,能快速定位出服务响应的差异,并根据差异情况对所述新语言SOA服务进行优化,从而可大幅度减少前期的人工测试,很好地保障***框架重构的正确性,保证所述新语言SOA服务的开发效率并快速投入生产。
实施例2
实施例2的用于SOA服务转换语言保持功能一致性的方法包括实施例1中的步骤101-105,还有不同之处在于,如图2所示,
所述步骤105具体包括:将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文;
本实施例在具体实施中,鉴于客户端每天近千万次的服务请求,为确保服务准确性及稳定性,所述旧语言SOA服务仍然接收并处理客户端的服务请求,并在所述步骤105中,在将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文,比如鉴于所述新语言SOA服务刚上线,在早期阶段可将第二预设比例设置得低一点,如5%。
所述方法在步骤105之后还包括:
步骤106、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;
本实施例在具体实施中,所述步骤106中的第三、第四预设比例可根据后续步骤中所述新语言SOA服务、所述旧语言SOA服务对同样的服务请求报文的服务响应一致性情况通过参数配置来进行设定,比如鉴于所述新语言SOA服务刚上线,在早期可将第三、第四预设比例设置得低一点,如5%;而在运行监测一段时间后可将第三、第四预设比例设置得高些,如10%、20%、50%、甚至为100%。
步骤107、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
步骤108、判断步骤107中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致,若否,则对所述新语言SOA服务进行优化,然后返回步骤101,若是,则判断所述第二预设比例是否为100%,若否,则提升所述第二预设比例,然后返回步骤105,若是,则执行步骤109;
本实施例在具体实施中,所述第二预设比例可根据所述新语言SOA服务、所述旧语言SOA服务对同样的服务请求报文的服务响应一致性情况自动逐步调整,比如所述新语言SOA服务刚上线的早期阶段可将第二预设比例设置得低一点如5%,而所述新语言SOA服务、所述旧语言SOA服务共同运行监测一段时间后所述新语言SOA服务运行稳定,这时可将第二预设比例自动按一定比例如5%逐步提升,直到所述新语言SOA服务、所述旧语言SOA服务对同样的服务请求报文的服务响应完全一致,所述新语言SOA服务的业务无偏差遗漏。
进一步,所述判断步骤107中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。经判断,若所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在业务逻辑上一致,仅小部分报文内容如报文的头信息不一致,此时可通过人工查找及分析不一致的原因,如果该报文内容的不一致属于可忽略的不影响服务的微小的不一致情况,可将该不一致情况列入到对比规则工具中从而在今后的对比中认为该报文内容相同而排除掉,对于那些不能作为对比规则进行排除的不一致情况则需要根据不一致的原因对新语言SOA服务进行优化,然后返回步骤101;若所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在报文内容、报文业务逻辑上都保持一致,则在经一段时间的运行监测,比如运行监测1-2个月后,若所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文响应生成的服务响应报文在报文内容、报文业务逻辑上仍旧能保持一致,可认为新语言SOA服务已具备良好的服务稳定性,即可以执行步骤109。
步骤109、将所述旧语言SOA服务下线。
本实施例中,经过上述步骤101-109后,通过定量对比分析所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文所响应生成的响应报文,能快速定位出服务响应的差异,并根据差异情况对所述新语言SOA服务进行优化,从而可大幅度减少前期的人工测试,很好地保障***框架重构的正确性,保证所述新语言SOA服务的开发效率并快速投入生产。另外,新旧语言的SOA服务在一定时期内共同运行,通过新旧语言SOA服务的相互监督对比进一步保障新语言SOA服务运行的稳定性。
进一步,本实施例在具体实施中,为了不影响所述旧语言SOA服务接收及处理客户端的服务请求的性能,从而将所述步骤102进一步细化,即所述步骤102具体包括:所述旧语言SOA服务建立第一异步消息队列;所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入到所述第一异步消息队列;所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务。
进一步,本实施例在具体实施中,为了不影响所述旧语言SOA服务、所述新语言SOA服务接收及处理客户端的服务请求的性能,同样将所述步骤106进一步细化,即所述步骤106具体包括:所述新语言SOA服务建立第二异步消息队列;所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入到所述第一异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入到所述第二异步消息队列;所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。
实施例3
本实施例的用于SOA服务转换语言保持功能一致性的***,如图3所示,包括旧语言SOA服务1、新语言SOA服务2、记录模块3、第一判断模块4,
所述旧语言SOA服务1、所述新语言SOA服务2同时部署在相同生产环境,所述旧语言SOA服务1用于接收客户端的服务请求报文,并按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务2;
所述旧语言SOA服务1、所述新语言SOA服务2分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块3用于记录所述旧语言SOA服务1发送给所述新语言SOA服务2的服务请求报文,以及所述旧语言SOA服务1、所述新语言SOA服务2分别对同样的服务请求报文相应的服务响应报文;
所述第一判断模块4用于判断所述记录模块3中记录的同样的服务请求报文相应的服务响应报文是否匹配,当判断为否时,则对所述新语言SOA服务2进行优化,当判断为是时,则所述新语言SOA服务2上线,接收并处理客户端的服务请求报文。
进一步,所述旧语言SOA服务1包括第一异步消息队列11、第一后台线程12,所述旧语言SOA服务1建立所述第一异步消息队列11,所述旧语言SOA服务1按第一预设比例将接收到的服务请求报文放入所述第一异步消息队列11,所述第一后台线程12用于将所述第一异步消息队列11的服务请求报文发送至所述新语言SOA服务2。
进一步,所述第一判断模块4用于判断所述记录模块3中记录的同样的服务请求报文相应的服务响应报文的业务逻辑是否一致。
实施例4
实施例4的用于SOA服务转换语言保持功能一致性的***与实施例3基本相同,不同之处在于,如图4所示,还包括第二判断模块5,
所述新语言SOA服务2上线后按第二预设比例接收并处理客户端的服务请求报文;
所述旧语言SOA服务1按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务2,所述新语言SOA服务2按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务1;
所述旧语言SOA服务1、所述新语言SOA服务2分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块3用于分别记录所述旧语言SOA服务发1送给所述新语言SOA服务2的服务请求报文和所述新语言SOA服务2发送给所述旧语言SOA服务1的服务请求报文,以及所述旧语言SOA服务1、所述新语言SOA服务2分别对同样的服务请求报文相应的服务响应报文;
所述第二判断模块5用于判断所述记录模块3中记录的同样的服务请求报文相应的服务响应报文是否一致,
当判断为否时,则对所述新语言SOA服务3进行优化,
当判断为是时,则调用所述第二判断模块5,所述第二判断模块5用于判断所述第二预设比例是否为100%,若是,则将所述旧语言SOA服务1下线,若否,则提升所述第二预设比例。
进一步,所述旧语言SOA服务1按第三预设比例将接收到的服务请求报文放入所述第一异步消息队列11,所述第一后台线程12将所述第一异步消息队列11的服务请求报文发送至所述新语言SOA服务2;所述新语言SOA服务2包括第二异步消息队列21、第二后台线程22,所述新语言SOA服务2建立所述第二异步消息队列21,所述新语言SOA服务2按第四预设比例将接收到的服务请求报文放入所述第二异步消息队列21,所述第二后台线程22用于将所述第二异步消息队列21的服务请求报文发送至所述旧语言SOA服务1。
进一步,所述第一判断模块5用于判断所述记录模块3中记录的同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (8)
1.一种用于SOA服务转换语言保持功能一致性的方法,其特征在于,包括以下步骤:
S1、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;
S2、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;
S3、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
S4、判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则执行步骤S5;
S5、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。
2.如权利要求1所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,
所述步骤S5具体包括:将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文;
所述方法在步骤S5之后还包括:
S6、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;
S7、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;
S8、判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致,
若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,
若是,则判断所述第二预设比例是否为100%,若是,则执行步骤S9,若否,则提升所述第二预设比例,然后返回步骤S5;
S9、将所述旧语言SOA服务下线。
3.如权利要求2所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,
所述步骤S2具体包括:
S21、所述旧语言SOA服务建立第一异步消息队列;
S22、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入到所述第一异步消息队列;
S23、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述步骤S6具体包括:
S61、所述新语言SOA服务建立第二异步消息队列;
S62、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入到所述第一异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入到所述第二异步消息队列;
S63、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。
4.如权利要求2所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,
所述步骤S4中,所述判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;
所述步骤S8中,所述判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。
5.一种用于SOA服务转换语言保持功能一致性的***,其特征在于,包括旧语言SOA服务、新语言SOA服务、记录模块、第一判断模块,
所述旧语言SOA服务、所述新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务用于接收客户端的服务请求报文,并按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;
所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块用于记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;
所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否匹配,当判断为否时,则对所述新语言SOA服务进行优化,当判断为是时,则所述新语言SOA服务上线,接收并处理客户端的服务请求报文。
6.如权利要求5所述的用于SOA服务转换语言保持功能一致性的***,其特征在于,所述***还包括第二判断模块,
所述新语言SOA服务上线后按第二预设比例接收并处理客户端的服务请求报文;
所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;
所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;
所述记录模块用于分别记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文和所述新语言SOA服务发送给所述旧语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;
所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否一致,
当判断为否时,则对所述新语言SOA服务进行优化,
当判断为是时,则调用所述第二判断模块,所述第二判断模块用于判断所述第二预设比例是否为100%,若是,则将所述旧语言SOA服务下线,若否,则提升所述第二预设比例。
7.如权利要求6所述的用于SOA服务转换语言保持功能一致性的***,其特征在于,
所述旧语言SOA服务包括第一异步消息队列、第一后台线程,所述旧语言SOA服务建立所述第一异步消息队列,
所述新语言SOA服务上线前,所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入所述第一异步消息队列,所述第一后台线程用于将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述新语言SOA服务上线后,所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入所述第一异步消息队列,所述第一后台线程用于将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;
所述新语言SOA服务包括第二异步消息队列、第二后台线程,所述新语言SOA服务建立所述第二异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入所述第二异步消息队列,所述第二后台线程用于将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。
8.如权利要求6所述的用于SOA服务转换语言保持功能一致性的***,其特征在于,
所述新语言SOA服务上线前,所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;
所述新语言SOA服务上线后,所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710423127.8A CN107229566B (zh) | 2017-06-07 | 2017-06-07 | 用于soa服务转换语言保持功能一致性的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710423127.8A CN107229566B (zh) | 2017-06-07 | 2017-06-07 | 用于soa服务转换语言保持功能一致性的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229566A true CN107229566A (zh) | 2017-10-03 |
CN107229566B CN107229566B (zh) | 2020-04-07 |
Family
ID=59935417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710423127.8A Active CN107229566B (zh) | 2017-06-07 | 2017-06-07 | 用于soa服务转换语言保持功能一致性的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229566B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800143A (zh) * | 2017-11-17 | 2019-05-24 | 北京京东尚科信息技术有限公司 | 一种对业务服务进行测试的方法和装置 |
CN110554891A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | ***框架切换方法与装置 |
CN112637326A (zh) * | 2020-12-21 | 2021-04-09 | 广东太平洋互联网信息服务有限公司 | 一种基于网关的旧服务器升级方法及*** |
CN113704101A (zh) * | 2021-08-23 | 2021-11-26 | 辽宁振兴银行股份有限公司 | 一种基于网关异步复制的分布式***兼容测试方法 |
CN114422457A (zh) * | 2021-12-16 | 2022-04-29 | 上海浦东发展银行股份有限公司 | 基于消息队列实现的灰度发布方法、***、设备及介质 |
CN116974877A (zh) * | 2023-09-25 | 2023-10-31 | 湖南三湘银行股份有限公司 | 一种跨语言场景下的日志收集方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284990A (ja) * | 1999-03-29 | 2000-10-13 | Ntt Communicationware Corp | 既存機能検証システム、既存機能検証方法及び記録媒体 |
US20020066077A1 (en) * | 2000-05-19 | 2002-05-30 | Leung Wu-Hon Francis | Methods and apparatus for preventing software modifications from invalidating previously passed integration tests |
CN104378304A (zh) * | 2013-08-14 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 灰度发布的控制方法、装置及*** |
CN105975270A (zh) * | 2016-05-04 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种基于http请求转发的灰度发布方法及*** |
CN106326108A (zh) * | 2016-08-09 | 2017-01-11 | 北京金山安全软件有限公司 | 一种新应用的测试方法及装置 |
CN106487863A (zh) * | 2015-09-02 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种基于分布式***的灰度发布方法、客户端及平台 |
-
2017
- 2017-06-07 CN CN201710423127.8A patent/CN107229566B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284990A (ja) * | 1999-03-29 | 2000-10-13 | Ntt Communicationware Corp | 既存機能検証システム、既存機能検証方法及び記録媒体 |
US20020066077A1 (en) * | 2000-05-19 | 2002-05-30 | Leung Wu-Hon Francis | Methods and apparatus for preventing software modifications from invalidating previously passed integration tests |
CN104378304A (zh) * | 2013-08-14 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 灰度发布的控制方法、装置及*** |
CN106487863A (zh) * | 2015-09-02 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种基于分布式***的灰度发布方法、客户端及平台 |
CN105975270A (zh) * | 2016-05-04 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种基于http请求转发的灰度发布方法及*** |
CN106326108A (zh) * | 2016-08-09 | 2017-01-11 | 北京金山安全软件有限公司 | 一种新应用的测试方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800143A (zh) * | 2017-11-17 | 2019-05-24 | 北京京东尚科信息技术有限公司 | 一种对业务服务进行测试的方法和装置 |
CN110554891A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | ***框架切换方法与装置 |
CN112637326A (zh) * | 2020-12-21 | 2021-04-09 | 广东太平洋互联网信息服务有限公司 | 一种基于网关的旧服务器升级方法及*** |
CN112637326B (zh) * | 2020-12-21 | 2023-08-22 | 广东太平洋互联网信息服务有限公司 | 一种基于网关的旧服务器升级方法及*** |
CN113704101A (zh) * | 2021-08-23 | 2021-11-26 | 辽宁振兴银行股份有限公司 | 一种基于网关异步复制的分布式***兼容测试方法 |
CN114422457A (zh) * | 2021-12-16 | 2022-04-29 | 上海浦东发展银行股份有限公司 | 基于消息队列实现的灰度发布方法、***、设备及介质 |
CN116974877A (zh) * | 2023-09-25 | 2023-10-31 | 湖南三湘银行股份有限公司 | 一种跨语言场景下的日志收集方法 |
CN116974877B (zh) * | 2023-09-25 | 2024-01-30 | 湖南三湘银行股份有限公司 | 一种跨语言场景下的日志收集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107229566B (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229566A (zh) | 用于soa服务转换语言保持功能一致性的方法及*** | |
US10417644B2 (en) | Identifying clusters for service management operations | |
US20030070119A1 (en) | Method and system for testing a software product | |
CN107809331A (zh) | 识别异常流量的方法和装置 | |
US20140012800A1 (en) | Apparatus and method for providing application for processing big data | |
CN102799962A (zh) | 一种配置型业务流程***及其实现方法 | |
CN103678446B (zh) | 基于数据视图和数据库表的改进的模式映射 | |
CN102684927A (zh) | 一种巡检网络设备的方法和装置 | |
CN114691398A (zh) | 一种基于规则的故障分析方法、装置、设备和存储介质 | |
CN107463490B (zh) | 一种应用于平台开发中的集群日志集中收集方法 | |
CN113760730A (zh) | 一种自动化测试的方法和装置 | |
CN101222451A (zh) | 一种在即时通信工具中获取联系人数据的方法 | |
CN110502538A (zh) | 画像标签生成逻辑映射的方法、***、设备及存储介质 | |
CN109359707A (zh) | 岩土样品信息的处理方法、装置、计算机设备和存储介质 | |
CN107656869A (zh) | 一种基于java构建专属自动化测试报告的方法 | |
CN110580216B (zh) | 一种应用提测的方法和装置 | |
CN109062801B (zh) | 软件接口自动转换*** | |
CN116664060A (zh) | 费用报销基础数据的生成方法、***和装置 | |
CN107730125B (zh) | 实验室管理*** | |
WO2023273532A1 (zh) | 服务治理方法、装置、服务器及计算机存储介质 | |
WO2019140242A1 (en) | User support system with automatic message categorization | |
CN115115062A (zh) | 机器学习模型建立方法、相关装置及计算机程序产品 | |
CN107526685A (zh) | 一种测试命令行的方法及装置 | |
CN107392415B (zh) | 一种基于大数据的电信营业员画像信息处理方法及装置 | |
CN114331110A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |