CN104461893B - 数据处理方法与数据处理装置 - Google Patents
数据处理方法与数据处理装置 Download PDFInfo
- Publication number
- CN104461893B CN104461893B CN201410784517.4A CN201410784517A CN104461893B CN 104461893 B CN104461893 B CN 104461893B CN 201410784517 A CN201410784517 A CN 201410784517A CN 104461893 B CN104461893 B CN 104461893B
- Authority
- CN
- China
- Prior art keywords
- data
- counterfoil
- server
- request
- data processing
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种数据处理方法和装置,方法包括:在单元测试存根服务器接收到数据处理请求时,根据数据处理请求中包括的目标请求参数,对单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与目标请求参数相应的主题;将目标处理数据发送至主题,其中,目标单元测试存根数据与目标请求参数相对应。通过本发明的技术方案,可以快速自动化地生成Stub数据,并对Stub数据按请求参数信息和用户名进行分类存储,以避免多人同时修改Stub数据的并发性问题,同时可以避免增加客户端用户的理解成本。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法和一种数据处理装置。
背景技术
移动应用的开发与传统软件开发有着许多的不同。移动应用开发迭代快、周期短、技术新颖、可套用的模式少。尤其是在开发企业级ERP(Enterprise Resource Planning,企业资源计划)应用的情况下上述问题会更加突出,例如ERP应用的业务复杂度相比其他类型的应用要高出许多,同时ERP涉及到的业务领域也是非常的多。而理解大量,复杂的ERP业务逻辑的时间周期和移动应用快速开发迭代的产品特点就产生了矛盾。正是因为上述特点,如何保证移动应用产品发布的快速性,稳定性将成为一大挑战。
一般情况下的开发模式往往分为按段进行开发(即分为移动端,移动服务器和ERP服务器三个方面的开发)。
但是为了应对移动应用的快速开发,快速测试和快速发布。在开发过程的前期又分为了手机移动端,服务器和虚拟ERP服务器的开发。
上面提到的虚拟ERP服务器也正是移动应用开发中用到的Stub(在单元测试过程中,对于某些难以调用的子模块,或者对于某些不容易构造、不容易获取的对象,用一个虚拟的子模块或对象来代替它,以便测试的顺利进行。这种测试方法叫stub测试,这个虚拟的对象就是Stub)。Stub服务器(即单元测试存根服务器)的主要职责为接口数据的生成,修改等。
伴随着开发的App的不断增加,开发人员及测试人员数量的不断增加,如何以较小的代价维护目标单元测试存根数据以来保证开发、测试的有序高效的进行将成为一大挑战,这些挑战具体表现为以下几个方面:
1.如何能够实现目标单元测试存根数据生成的自动化,快速化和批量化;
2.Stub数据(单元测试存根数据)是按接口分文件进行存储,这就可能会造成数据文件数量众多,查找变得困难;
3.多人修改目标单元测试存根数据的并发性问题。即多人同时修改同一个数据文件很有可能造成相互影响,影响开发调试和测试效率;
4.多种不同接口数据格式的支持性问题。如对接移动应用的接口可能为JSON也可能为XML等等,那么接口数据以XML格式存储在Stub服务器的,而移动端接口数据格式为JSON。如果直接把XML格式数据作为Stub数据(单元测试存根数据)传输到移动应用客户端那么势必造成理解上成本的增加,因此必须以一种可扩展的、可进行数据转换的方式来设计目标单元测试存根数据的生成和存储。
因此,如何快速自动化地生成Stub数据,并对Stub数据按请求参数信息和用户名进行分类存储,以避免多人同时修改Stub数据的并发性问题,同时避免增加客户端用户的理解成本,成为亟待解决的问题。
发明内容
本发明正是基于上述技术问题,提出了一种新的技术方案,可以快速自动化地生成Stub数据,并对Stub数据按请求参数信息和用户名进行分类存储,以避免多人同时修改Stub数据的并发性问题,同时可以避免增加客户端用户的理解成本。
有鉴于此,本发明的一方面提出了一种数据处理方法,用于单元测试存根服务器,包括:在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;将所述目标处理数据发送至所述主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
在该技术方案中,通过在单元测试存根服务器(即Stub数据服务器)中将Stub数据(单元测试存根数据)按每个客户端用户的目标请求参数进行分类存储,可以使单元测试存根服务器在接收到数据处理请求后,根据该数据处理请求中包括的目标请求参数,从单元测试存根服务器中的Stub数据中快速锁定与该目标请求参数相应的目标单元测试存根数据,并根据客户端用户的请求参数中包括的请求内容,将目标单元测试存根数据处理后,将处理后的目标处理数据发送至相应的“topic”(主题,即消息队列中进行消息“发布和订阅的一种逻辑概念”),以便利用该“topic”将该目标处理数据进行显示;另外,由于每个客户端用户对应的目标请求参数均不同,因此,通过使该目标单元测试存根数据与该目标请求参数相对应,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率。
在上述技术方案中,优选地,还包括:在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;以及根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
在该技术方案中,目标单元测试存根数据的具体生成过程为:在接收到的按照一定格式的Word文档后,使用vba(是一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言)脚本读取该Word文档,并转换为XML描述文件,然后利用java语言读取该XML描述语言以生成java代码,再自动对java代码进行编译,从而自动化地、大批量地、快速地运行生成XML,JOSN等数据格式的stub测试数据;另外,通过利用该“topic”(主题),可以使用户在通过客户端发出数据处理请求后,无需在浏览器上进行相应的点击操作,即可使主题中的目标处理数据被同步显示在与该数据处理请求相应的终端(客户端)和/或浏览器的显示界面上,这样有利于减少用户操作,提高用户使用体验。
在上述技术方案中,优选地,所述单元测试存根服务器中设置有消息队列服务器,所述将所述目标处理数据发送至所述主题,具体包括:所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及所述将所述主题中的目标处理数据显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上,具体包括:根据消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
在该技术方案中,在单元测试存根服务器根据目标请求参数得到目标单元测试存根数据的目标处理数据后,会将该目标处理数据发送至消息队列服务器,以使消息队列服务器根据自身的目标单元测试存根数据的发布和/或订阅模式将主题中目标处理数据同时显示在终端和/或浏览器的显示界面上。当然,用户可以根据实时使用需求,自由设置或更改消息队列服务器中的目标单元测试存根数据的发布和/或订阅模式。
在上述技术方案中,优选地,所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及当所述数据处理请求为所述数据修改请求时,所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
在该技术方案中,用户可以在浏览器上自由输入Stub数据的数据修改请求,以使消息队列服务器调用单元测试存根服务器的存储服务接口,从而实现对单元测试存根服务器中存储的与该用户相应的目标Stub数据(目标单元测试存根数据)进行修改。
在上述技术方案中,优选地,根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
在该技术方案中,通过将该目标单元测试存根数据与该目标请求参数对应存储,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端(终端)用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率;而通过将第一用户名与第二用户名进行绑定,使得用户在通过客户端发出数据处理请求后,如果在浏览器上输入正确的与该第一用户名对应的第二用户名,则浏览器上也会同步显示与该数据处理请求相应的目标处理数据,另外,单元测试存根服务器中的目标单元测试存根数据是单元测试存根服务器在接收到用户按一定规则排版的Word数据后,利用java语言的反射机制来自动化、批量化地生成的XML,JOSN等数据格式的Stub测试数据,并以XML的形式进行存储的数据,同时该Stub测试数据是以一种统一格式(如XML格式或JOSN格式)返回至终端和/或浏览器,从而避免用户对目标Stub数据的理解成本。其中,JOSN(JavaScript ObjectNotation)是一种轻量级的数据转换格式,XML(Extensible Markup Language,可扩展标记语言)。
本发明的另一方面提出了一种数据处理装置,用于单元测试存根服务器,包括:处理单元,在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;发送单元,将所述目标处理数据发送至所述主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
在该技术方案中,通过在单元测试存根服务器(即Stub数据服务器)中将Stub数据(单元测试存根数据)按每个客户端用户的目标请求参数进行分类存储,可以使单元测试存根服务器在接收到数据处理请求后,根据该数据处理请求中包括的目标请求参数,从单元测试存根服务器中的Stub数据中快速锁定与该目标请求参数相应的目标单元测试存根数据,并根据客户端用户的请求参数中包括的请求内容,将目标单元测试存根数据处理后,将处理后的目标处理数据发送至相应的“topic”(主题,即消息队列中进行消息“发布和订阅的一种逻辑概念”),以便利用该“topic”将该目标处理数据进行显示;另外,由于每个客户端用户对应的目标请求参数均不同,因此,通过使该目标单元测试存根数据与该目标请求参数相对应,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率。
在上述技术方案中,优选地,还包括:生成单元,在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;显示单元,根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
在该技术方案中,目标单元测试存根数据的具体生成过程为:在接收到的按照一定格式的Word文档后,使用vba(是一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言)脚本读取该Word文档,并转换为XML描述文件,然后利用java语言读取该XML描述语言以生成java代码,再自动对java代码进行编译,从而自动化地、大批量地、快速地运行生成XML,JOSN等数据格式的stub测试数据;另外,通过利用该“topic”(主题),可以使用户在通过客户端发出数据处理请求后,无需在浏览器上进行相应的点击操作,即可使主题中的目标处理数据被同步显示在与该数据处理请求相应的终端(客户端)和/或浏览器的显示界面上,这样有利于减少用户操作,提高用户使用体验。
在上述技术方案中,优选地,所述单元测试存根服务器中设置有消息队列服务器,所述发送单元具体用于:控制所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及所述显示单元具体用于:根据所述消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
在该技术方案中,在单元测试存根服务器根据目标请求参数得到目标单元测试存根数据的目标处理数据后,会将该目标处理数据发送至消息队列服务器,以使消息队列服务器根据自身的目标单元测试存根数据的发布和/或订阅模式将主题中目标处理数据同时显示在终端和/或浏览器的显示界面上。当然,用户可以根据实时使用需求,自由设置或更改消息队列服务器中的目标单元测试存根数据的发布和/或订阅模式。
在上述技术方案中,优选地,所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及所述装置还包括:调用单元,当所述数据处理请求为所述数据修改请求时,控制所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
在该技术方案中,用户可以在浏览器上自由输入Stub数据的数据修改请求,以使消息队列服务器调用单元测试存根服务器的存储服务接口,从而实现对单元测试存根服务器中存储的与该用户相应的目标Stub数据(目标单元测试存根数据)进行修改。
在上述技术方案中,优选地,还包括:存储单元,根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及绑定单元,根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
在该技术方案中,通过将该目标单元测试存根数据与该目标请求参数对应存储,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端(终端)用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率;而通过将第一用户名与第二用户名进行绑定,使得用户在通过客户端发出数据处理请求后,如果在浏览器上输入正确的与该第一用户名对应的第二用户名,则浏览器上也会同步显示与该数据处理请求相应的目标处理数据,另外,单元测试存根服务器中的目标单元测试存根数据是单元测试存根服务器在接收到用户按一定规则排版的Word数据后,利用java语言的反射机制来自动化、批量化地生成的XML,JOSN等数据格式的Stub测试数据,并以XML的形式进行存储的数据,同时该Stub测试数据是以一种统一格式(如XML格式或JOSN格式)返回至终端和/或浏览器,从而避免用户对目标Stub数据的理解成本。
通过上述技术方案,可以快速自动化地生成Stub数据,并对Stub数据按请求参数信息和用户名进行分类存储,以避免多人同时修改Stub数据的并发性问题,同时可以避免增加客户端用户的理解成本。
附图说明
图1示出了根据本发明的实施例的数据处理方法的流程示意图;
图2示出了根据本发明的实施例的数据处理装置的结构示意图;
图3示出了根据本发明的实施例的目标单元测试存根数据生成方法的流程示意图;
图4示出了根据本发明的实施例的主题的建立方法的流程示意图;
图5示出了根据本发明的实施例的将目标处理数据显示在浏览器界面的方法的流程示意图;
图6示出了根据本发明的实施例的目标单元测试存根数据修改的方法的流程示意图;
图7示出了根据本发明的实施例的目标单元测试存根服务器的存储结构示意图;
图8示出了根据本发明的实施例的消息队列服务器转发目标处理数据的结构示意图;
图9示出了根据本发明的实施例的浏览器/客户端的功能结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的数据处理方法的流程示意图。
如图1所示,根据本发明的实施例的数据处理方法,包括:步骤102,在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;步骤104,将所述目标处理数据发送至所述主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
在该技术方案中,通过在单元测试存根服务器(即Stub数据服务器)中将Stub数据(单元测试存根数据)按每个客户端用户的目标请求参数进行分类存储,可以使单元测试存根服务器在接收到数据处理请求后,根据该数据处理请求中包括的目标请求参数,从单元测试存根服务器中的Stub数据中快速锁定与该目标请求参数相应的目标单元测试存根数据,并根据客户端用户的请求参数中包括的请求内容,将目标单元测试存根数据处理后,将处理后的目标处理数据发送至相应的“topic”(主题,即消息队列中进行消息“发布和订阅的一种逻辑概念”),以便利用该“topic”将该目标处理数据进行显示;另外,由于每个客户端用户对应的目标请求参数均不同,因此,通过使该目标单元测试存根数据与该目标请求参数相对应,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率。
在上述技术方案中,优选地,还包括:在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;以及根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
在该技术方案中,目标单元测试存根数据的具体生成过程为:在接收到的按照一定格式的Word文档后,使用vba(是一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言)脚本读取该Word文档,并转换为XML描述文件,然后利用java语言读取该XML描述语言以生成java代码,再自动对java代码进行编译,从而自动化地、大批量地、快速地运行生成XML,JOSN等数据格式的stub测试数据;另外,通过利用该“topic”(主题),可以使用户在通过客户端发出数据处理请求后,无需在浏览器上进行相应的点击操作,即可使主题中的目标处理数据被同步显示在与该数据处理请求相应的终端(客户端)和/或浏览器的显示界面上,这样有利于减少用户操作,提高用户使用体验。
在上述技术方案中,优选地,所述单元测试存根服务器中设置有消息队列服务器,所述将所述目标处理数据发送至所述主题,具体包括:所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及所述将所述主题中的目标处理数据显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上,具体包括:根据消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
在该技术方案中,在单元测试存根服务器根据目标请求参数得到目标单元测试存根数据的目标处理数据后,会将该目标处理数据发送至消息队列服务器,以使消息队列服务器根据自身的目标单元测试存根数据的发布和/或订阅模式将主题中目标处理数据同时显示在终端和/或浏览器的显示界面上。当然,用户可以根据实时使用需求,自由设置或更改消息队列服务器中的目标单元测试存根数据的发布和/或订阅模式。
在上述技术方案中,优选地,所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及当所述数据处理请求为所述数据修改请求时,所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
在该技术方案中,用户可以在浏览器上自由输入Stub数据的数据修改请求,以使消息队列服务器调用单元测试存根服务器的存储服务接口,从而实现对单元测试存根服务器中存储的与该用户相应的目标Stub数据(目标单元测试存根数据)进行修改。
在上述技术方案中,优选地,根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
在该技术方案中,通过将该目标单元测试存根数据与该目标请求参数对应存储,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端(终端)用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率;而通过将第一用户名与第二用户名进行绑定,使得用户在通过客户端发出数据处理请求后,如果在浏览器上输入正确的与该第一用户名对应的第二用户名,则浏览器上也会同步显示与该数据处理请求相应的目标处理数据,另外,单元测试存根服务器中的目标单元测试存根数据是单元测试存根服务器在接收到用户按一定规则排版的Word数据后,利用java语言的反射机制来自动化、批量化地生成的XML,JOSN等数据格式的Stub测试数据,并以XML的形式进行存储的数据,同时该Stub测试数据是以一种统一格式(如XML格式或JOSN格式)返回至终端和/或浏览器,从而避免用户对目标Stub数据的理解成本。
图2示出了根据本发明的实施例的数据处理装置的结构示意图。
如图2所示,根据本发明的实施例的数据处理装置200,包括:处理单元202,在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;发送单元204,将所述目标处理数据发送至所述主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
在该技术方案中,通过在单元测试存根服务器(即Stub数据服务器)中将Stub数据(单元测试存根数据)按每个客户端用户的目标请求参数进行分类存储,可以使单元测试存根服务器在接收到数据处理请求后,根据该数据处理请求中包括的目标请求参数,从单元测试存根服务器中的Stub数据中快速锁定与该目标请求参数相应的目标单元测试存根数据,并根据客户端用户的请求参数中包括的请求内容,将目标单元测试存根数据处理后,将处理后的目标处理数据发送至相应的“topic”(主题,即消息队列中进行消息“发布和订阅的一种逻辑概念”),以便利用该“topic”将该目标处理数据进行显示;另外,由于每个客户端用户对应的目标请求参数均不同,因此,通过使该目标单元测试存根数据与该目标请求参数相对应,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率。
在上述技术方案中,优选地,还包括:生成单元206,在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;显示单元208,根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
在该技术方案中,目标单元测试存根数据的具体生成过程为:在接收到的按照一定格式的Word文档后,使用vba(是一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言)脚本读取该Word文档,并转换为XML描述文件,然后利用java语言读取该XML描述语言以生成java代码,再自动对java代码进行编译,从而自动化地、大批量地、快速地运行生成XML,JOSN等数据格式的stub测试数据;另外,通过利用该“topic”(主题),可以使用户在通过客户端发出数据处理请求后,无需在浏览器上进行相应的点击操作,即可使主题中的目标处理数据被同步显示在与该数据处理请求相应的终端(客户端)和/或浏览器的显示界面上,这样有利于减少用户操作,提高用户使用体验。
在上述技术方案中,优选地,所述单元测试存根服务器中设置有消息队列服务器,所述发送单元204具体用于:控制所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及所述显示单元208具体用于:根据所述消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
在该技术方案中,在单元测试存根服务器根据目标请求参数得到目标单元测试存根数据的目标处理数据后,会将该目标处理数据发送至消息队列服务器,以使消息队列服务器根据自身的目标单元测试存根数据的发布和/或订阅模式将主题中目标处理数据同时显示在终端和/或浏览器的显示界面上。当然,用户可以根据实时使用需求,自由设置或更改消息队列服务器中的目标单元测试存根数据的发布和/或订阅模式。
在上述技术方案中,优选地,所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及所述装置还包括:调用单元210,当所述数据处理请求为所述数据修改请求时,控制所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
在该技术方案中,用户可以在浏览器上自由输入Stub数据的数据修改请求,以使消息队列服务器调用单元测试存根服务器的存储服务接口,从而实现对单元测试存根服务器中存储的与该用户相应的目标Stub数据(目标单元测试存根数据)进行修改。
在上述技术方案中,优选地,还包括:存储单元212,根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及绑定单元214,根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
在该技术方案中,通过将该目标单元测试存根数据与该目标请求参数对应存储,可以将不同客户端用户的目标单元测试存根数据进行隔离,以避免多人同时修改Stub数据的并发性问题,使每个客户端用户在修改个人数据文件时,无法对其他客户端(终端)用户的目标单元测试存根数据文件造成影响,从而提高开发调试和测试效率;而通过将第一用户名与第二用户名进行绑定,使得用户在通过客户端发出数据处理请求后,如果在浏览器上输入正确的与该第一用户名对应的第二用户名,则浏览器上也会同步显示与该数据处理请求相应的目标处理数据,另外,单元测试存根服务器中的目标单元测试存根数据是单元测试存根服务器在接收到用户按一定规则排版的Word数据后,利用java语言的反射机制来自动化、批量化地生成的XML,JOSN等数据格式的Stub测试数据,并以XML的形式进行存储的数据,同时该Stub测试数据是以一种统一格式(如XML格式或JOSN格式)返回至终端和/或浏览器,从而避免用户对目标Stub数据的理解成本。
通过上述技术方案,本发明技术方案提出了以下三个思路:
1.重复利用java语言的反射机制来实现自动化、批量化的生成目标单元测试存根数据
2.按照一种可配置的规则建立接口请求参数和目标单元测试存根数据的映射关系,使得该装置可以自动的获取目标单元测试存根数据;
3.按照用户进行目标单元测试存根数据隔离,使得各个开发和测试人员不会相互影响;
4.完全按照移动接口的数据格式进行修改。比如在修改数据的用户接口由XML变为JSON,但是为了更好的可读性存储依旧采用XML。
按照上面提出的四个解决思路,本发明提出了一种数据处理装置。该装置的主要功能及使用场景描述如下:
1.目标单元测试存根数据的开发人员利用该装置自动读取按照一定格式编写的word接口文档,从而按接口生成目标单元测试存根数据并自动的部署到目标单元测试存根服务器;
2.开发、测试人员在进行单元测试的时候点击移动端APP发送接口请求,接口的返回值返回到APP,同时也返回到该装置的浏览器界面;
3.发、测试人员通过浏览器界面修改、增加接口数据的返回值,再次请求接口数据那么返回的为修改过后的新数据;
4.该装置支持的数据格式包括普通的文本类型以及图片等附件类型。
数据处理装置的技术架构描述如下:
数据处理装置采用BS(Browser Server,浏览器-服务器)架构,可以在不需要安装任何客户端的情况下使用,用户修改数据的操作全部的转移到浏览器界面上。其中目标单元测试存根服务器基于Tomcat(Apache社区开源的应用服务器)来实现。其中目标单元测试存根数据自动化生成过程主要采用了java技术领域内的反射机制和动态代理机制来实现;为了保证手机App和浏览器可以同时接受到数据采用ActiveMQ(一种高性能的消息队列服务器)来实现。
该技术方案的整个流程如下:在客户端登陆发生请求后,移动服务器根据user绑定服务器处理线程,同时绑定必要的线程变量(包括客户端请求参数,查找的文件,返回值,其中,该请求参数为目标请求参数中除第一用户名和第二用户名之外的其它参数)并把这些内容传送给消息队列服务器ActiveMQ,ActiveMQ利用自身提供的发布/订阅的模式通过ajax(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术)把json数据传送到浏览器,并在网页上格式化显示。当用户需要修改数据的时候直接在网页上进行修改,并把修改的数据传输到Stub服务器。其中在接口数据存储上依然采用xml格式的文件存储,保持了原来的可读行,可维护性。
下面详细介绍该技术方案的结构设计和功能设计。
图3示出了根据本发明的实施例的目标单元测试存根数据生成方法的流程示意图。
如图3所示,根据本发明的实施例的目标单元测试存根数据生成方法,包括:
步骤302,接收按一定规则的word格式的接口文档;
步骤304,将该word文档存入Stub数据服务器;
步骤306,Stub数据服务器以默认形式(如XML形式)将该word文档进行存储,并利用java语言的反射机制将该XML文档进行读取,以生成目标单元测试存根数据文件,并以用户名等目标请求参数将该目标单元测试存根数据文件分类存储在目标单元测试存根服务器(Stub数据服务器)中(其具体存储过程如图8所示)。
图4示出了根据本发明的实施例的主题的建立方法的流程示意图。
如图4所示,根据本发明的实施例的主题的建立方法,包括:
步骤402,用户使用客户端APP进行登陆,并发出数据处理请求;
步骤404,将用户的用户名与数据处理请求中包括的线程变量等目标请求参数进行绑定;
步骤406,根据目标请求参数中的用户名等信息建立相应的“topic”(主题)。
当然,在本实施中,若要从浏览器界面上进行数据的检索和修改,则需将浏览器上的用户名(第二用户名)和移动端app上登陆的用户名(第一用户名)进行绑定。
图5示出了根据本发明的实施例的将目标处理数据显示在浏览器界面的方法的流程示意图。
如图5所示,根据本发明的实施例的将目标处理数据显示在浏览器界面的方法,包括:
步骤502,客户端用户通过App接口向Stub数据服务器发送数据检索请求,其中,图9示出了客户端的功能结构设计图;
步骤504,Stub数据服务器在接收到数据检索请求后,开始检索数据,并将检索出的目标处理数据发送至ActiveMQ(消息队列服务器);
步骤506,消息队列服务器将目标处理数据通过“topic”(主题)发送至浏览器(其中,图9示出了浏览器的功能结构),以备实时修改,当然,用户绑定完成以后,利用ActiveMQ的发布/订阅模式,并采用ajax和ActiveMQ进行通信可以使得浏览器上得到的数据和移动端app得到的数据具有实时一致性;
步骤508,将目标处理数据在浏览器上进行显示(其具体显示过程如图8中的浏览器ajax的执行过程)。
图6示出了根据本发明的实施例的目标单元测试存根数据修改的方法的流程示意图。
如图6所示,根据本发明的实施例的目标单元测试存根数据修改的方法,包括:
步骤602,用户在浏览器数据输入数据修改请求;
步骤604,ActiveMQ接收数据修改请求后,调用单元测试存根服务器的存储服务接口;
步骤606,单元测试存根服务器通过该存储服务接口对该用户对应的目标单元测试存根数据进行修改,并按用户名等目标请求参数将修改后的目标单元测试存根数据进行存储。
图7示出了根据本发明的实施例的目标单元测试存根服务器的存储结构示意图。
如图7所示,示出了本发明的实施例的目标单元测试存根服务器的存储结构:按树桩结构对数据文件进行分层次存储,这里主要为增加了用户名这一层级目录,多个人员可以并发性修改。其中,存储数据的文件按用户名、接口名和请求参数的配置规则生成(生成规则可以直接在浏览器客户端进行配置和修改)。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以快速自动化地生成Stub数据,并对Stub数据按请求参数信息和用户名进行分类存储,以避免多人同时修改Stub数据的并发性问题,同时可以避免增加客户端用户的理解成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,用于单元测试存根服务器,其特征在于,包括:
在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;
将所述目标处理数据发送至所述与所述目标请求参数相应的主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;以及根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
3.根据权利要求2所述的数据处理方法,其特征在于,
所述单元测试存根服务器中设置有消息队列服务器,
所述将所述目标处理数据发送至所述主题,具体包括:
所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及
所述将所述主题中的目标处理数据显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上,具体包括:
根据消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
4.根据权利要求3所述的数据处理方法,其特征在于,
所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及
当所述数据处理请求为所述数据修改请求时,所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,
根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及
根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
6.一种数据处理装置,用于单元测试存根服务器,其特征在于,包括:
处理单元,在所述单元测试存根服务器接收到数据处理请求时,根据所述数据处理请求中包括的目标请求参数,对所述单元测试存根服务器中预存储的目标单元测试存根数据进行处理以得到目标处理数据,并建立与所述目标请求参数相应的主题;
发送单元,将所述目标处理数据发送至所述与所述目标请求参数相应的主题,其中,所述目标请求参数包括:与所述数据处理请求相应的终端接收到的第一用户名、与所述数据处理请求相应的浏览器接收到的第二用户名、所述单元测试存根服务器的接口名、所述单元测试存根服务器的接口参数中的至少一项参数,以及所述目标单元测试存根数据与所述目标请求参数相对应。
7.根据权利要求6所述的数据处理装置,其特征在于,还包括:
生成单元,在接收到文档数据后,对所述文档数据进行读取和编译,以生成所述目标单元测试存根数据;
显示单元,根据接收到的显示命令,将所述主题中的目标处理数据同步显示在与所述数据处理请求相应的终端和/或浏览器的显示界面上。
8.根据权利要求7所述的数据处理装置,其特征在于,
所述单元测试存根服务器中设置有消息队列服务器,
所述发送单元具体用于:
控制所述单元测试存根服务器将所述目标处理数据发送至所述消息队列服务器,以使所述消息队列服务器将所述目标处理数据发送至所述主题;以及
所述显示单元具体用于:
根据所述消息队列服务器的发布和/或订阅模式将所述目标处理数据显示在所述终端和/或所述浏览器的显示界面上。
9.根据权利要求8所述的数据处理装置,其特征在于,
所述数据处理请求包括:数据检索请求、数据显示请求、数据修改请求中的任一种请求;以及
所述装置还包括:
调用单元,当所述数据处理请求为所述数据修改请求时,控制所述消息队列服务器在通过所述浏览器接收到所述数据修改请求后,调用所述单元测试存根服务器的存储服务接口,以使所述单元测试存根服务器通过所述存储服务接口接收所述数据修改请求。
10.根据权利要求6至9中任一项所述的数据处理装置,其特征在于,还包括:
存储单元,根据接收到的存储命令,将所述目标单元测试存根数据与所述目标请求参数对应存储;以及
绑定单元,根据接收到的绑定命令,将所述第一用户名与所述第二用户名进行绑定,以使所述目标处理数据被同步显示至所述终端和/或所述浏览器的显示界面上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784517.4A CN104461893B (zh) | 2014-12-16 | 2014-12-16 | 数据处理方法与数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784517.4A CN104461893B (zh) | 2014-12-16 | 2014-12-16 | 数据处理方法与数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461893A CN104461893A (zh) | 2015-03-25 |
CN104461893B true CN104461893B (zh) | 2017-12-01 |
Family
ID=52907982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410784517.4A Active CN104461893B (zh) | 2014-12-16 | 2014-12-16 | 数据处理方法与数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461893B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146759B2 (en) * | 2016-03-24 | 2018-12-04 | Microsoft Technology Licensing, Llc | Controlling digital input |
CN108304267B (zh) * | 2018-01-31 | 2022-03-22 | 中科边缘智慧信息科技(苏州)有限公司 | 高可靠低资源开销的多源数据引接方法 |
CN110597722A (zh) * | 2019-09-17 | 2019-12-20 | 深圳市及响科技有限公司 | 一种在线开发平台的在线调试方法 |
CN114363225B (zh) * | 2021-12-22 | 2023-09-01 | 深圳优美创新科技有限公司 | 基于mtqq协议的设备调试方式、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541548A (zh) * | 2010-12-23 | 2012-07-04 | 微软公司 | 为不同显示器定制用户界面的技术 |
CN103136095A (zh) * | 2011-11-28 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法、装置及系统 |
CN103577180A (zh) * | 2012-08-03 | 2014-02-12 | 新华瑞德(北京)网络科技有限公司 | 数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468542B2 (en) * | 2010-03-04 | 2013-06-18 | Microsoft Corporation | Virtual environment for server applications, such as web applications |
-
2014
- 2014-12-16 CN CN201410784517.4A patent/CN104461893B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541548A (zh) * | 2010-12-23 | 2012-07-04 | 微软公司 | 为不同显示器定制用户界面的技术 |
CN103136095A (zh) * | 2011-11-28 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法、装置及系统 |
CN103577180A (zh) * | 2012-08-03 | 2014-02-12 | 新华瑞德(北京)网络科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104461893A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
US8413061B2 (en) | Synchronous to asynchronous web page conversion | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
US8543972B2 (en) | Gateway data distribution engine | |
US10120886B2 (en) | Database integration of originally decoupled components | |
CN101853152B (zh) | 一种生成用户图形界面的方法和系统 | |
CN117008923B (zh) | 基于ai大模型的代码生成和编译部署方法、平台和设备 | |
CN110502212A (zh) | 一种面向多语言的高并发在线开发支撑方法 | |
CN104461893B (zh) | 数据处理方法与数据处理装置 | |
US10089084B2 (en) | System and method for reusing JavaScript code available in a SOA middleware environment from a process defined by a process execution language | |
CN109783562B (zh) | 一种业务处理方法和装置 | |
CN104317570B (zh) | 动态解析Web应用的装置和方法 | |
US9003433B2 (en) | Off-premise and codeless process-centric business mashup to integrate BPEL based processes and web 2.0 widgets | |
US20210334149A1 (en) | Api adapter creation device, api adapter creation method, and api adapter creation program | |
CN110365724A (zh) | 任务处理方法、装置及电子设备 | |
CN110231936A (zh) | 一种移动端流程引擎框架及移动端流程引擎的使用方法 | |
Rattanapoka et al. | An MQTT-based IoT cloud platform with flow design by Node-RED | |
CN109271160A (zh) | 活动规则组建方法、装置和计算机系统、介质 | |
US10324692B2 (en) | Integration for next-generation applications | |
US10268496B2 (en) | System and method for supporting object notation variables in a process defined by a process execution language for execution in a SOA middleware environment | |
Turnquist | Learning Spring Boot 2.0: simplify the development of lightning fast applications based on microservices and reactive programming | |
CN111736807B (zh) | 租户功能定制方法、装置及基于租户的办公系统 | |
CN114637499A (zh) | 可视化组件处理方法、装置、设备及介质 | |
Ma et al. | State-driven and brick-based mobile mashup | |
CN110417978A (zh) | 菜单配置方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |