一种用于采集业务数据的方法和装置制造方法及图纸

技术编号:15300034 阅读:186 留言:0更新日期:2017-05-12 02:26
本申请公开了一种用于采集业务数据的方法、一种用于采集业务数据的装置、以及一种用于采集业务数据的系统。所述方法包括以下步骤:获取更新了业务数据采集功能的代码;根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。该方法可以在不中断业务系统服务的情况下,随时按照业务的需要,自由地对业务的相关数据进行采集监控,不仅能够增加查找业务系统故障点的手段、提高解决业务系统存在问题的效率,而且可以达到进一步提升用户体验的效果。

Method and device for collecting service data

The invention discloses a method for collecting service data, a device for collecting service data, and a system for collecting service data. The method comprises the following steps: acquiring updated business data acquisition function code; according to the updated business data acquisition function code, the corresponding code update is running a business process, in order to achieve the business data acquisition function. This method can not interrupt business system services, at any time in accordance with the needs of the business, free data relevant to the business of collecting and monitoring, not only can increase the search business system fault point means to solve the problems and improve the efficiency of business system, and to further enhance the user experience effect.

【技术实现步骤摘要】

本申请涉及数据采集领域,具体涉及一种用于采集业务数据的方法和装置。本申请还涉及一种用于采集业务数据的系统。
技术介绍
业务数据采集和监控是对业务系统进行性能优化、或故障查找时普遍需要用到的技术手段。当由于故障或设计缺陷导致业务失败或性能低下时,业务数据的采集和监控能够帮助业务人员快速定位问题的位置,从而尽快解决问题,提高业务系统性能,改善用户体验。现有的业务数据的采集监控通常依赖于业务系统开始运行前预先设计的业务数据采集监控方案,业务数据采集监控的数据源通常是采用硬编码方式预先设定的输出数据或数据库数据等。采用上述数据采集监控方案的业务系统投入运行后,如果由于运行前设计时无法预知的原因导致业务的故障甚至失败、或性能不能达到预期时,则无法设置新的数据采集位置,也无法对没有包含在现有业务数据采集方案内的其他数据进行采集,也就无从发现导致故障、失败或性能达不到预期的原因。在这种情况下,如果想要对数据采集位置进行变更或对采集的数据进行变更,则需要中断业务、并对业务系统的代码进行修改,例如,调整采集业务数据的位置或调整采集的业务数据,修改完毕再重新启动整个系统的运行。显然,现有的业务数据采集方式,在数据采集需求发生变更时,处理效率低下,而且通常无法保证业务的连续性,影响用户的使用体验。申请内容本申请提供一种用于采集业务数据的方法,以解决现有技术在数据采集需求发生变更时,处理效率低下、无法保证业务的连续性、影响用户的使用体验的问题。此外,本申请还提供一种用于采集业务数据的装置、以及一种用于采集业务数据的系统。本申请提供的一种用于采集业务数据的方法,包括以下步骤:获取更新了业务数据采集功能的代码;根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,所述获取更新了业务数据采集功能的代码,包括:按照设定的时间间隔从配置服务器下载所述代码;或者,接收配置服务器推送的所述代码。可选地,所述业务数据采集功能包括,采集所述业务程序中的预设方法的以下原始业务数据之一或者任意组合:入口参数值、返回值、抛出的异常。可选地,所述业务数据采集功能还包括:根据采集到的原始业务数据采用预设算法生成数据采集结果。可选地,所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能包括:与所述正在运行的业务程序建立通信通道;通过所述通信通道执行所述更新操作。可选地,所述正在运行的业务程序是采用Java编写的;所述与所述正在运行的业务程序建立通信通道包括:利用JVM提供的attach功能,建立所述通信通道;所述通过所述通信通道执行所述更新操作,包括:利用JVMTI提供的instrument机制,执行所述更新操作。可选地,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java类文件;所述通过所述通信通道执行所述更新操作,包括:用所述Java类文件所包含的类替换所述正在运行的业务程序的相应Java类。可选地,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java源代码;所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码以实现所述业务数据采集功能还包括:根据所述Java源代码生成Java类文件;所述通过所述通信通道执行所述更新操作,包括:用所述生成的Java类文件所包含的类替换所述正在运行的业务程序的相应Java类。可选地,所述根据所述Java源代码生成Java类文件包括:利用groovy脚本将所述Java源代码编译成Java类文件。可选地,还包括以下步骤:获取更新指令;所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能包括:按照更新指令的指示,根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,所述更新指令包括:待更新的正在运行的业务程序的相应代码的标识。可选地,所述更新指令包括:预设的更新时间。可选地,所述方法在提供物流服务的节点上实施,所述提供物流服务的节点包括:创建订单节点、发货节点、揽收节点、或者签收节点。本申请提供的一种用于采集业务数据的装置,包括:代码获取单元,用于获取更新了业务数据采集功能的代码;代码更新单元,用于根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,所述代码获取单元,具体用于:按照设定的时间间隔从配置服务器下载所述代码;或者,接收配置服务器推送的所述代码。可选地,所述代码更新单元,包括:通道建立子单元,用于与正在运行的业务程序建立通信通道;更新执行子单元,用于通过所述通信通道执行所述更新操作。可选地,所述正在运行的业务程序是采用Java编写的;所述通道建立子单元,具体用于利用JVM提供的attach功能,建立所述通信通道;所述更新执行子单元,具体用于利用JVMTI提供的instrument机制,执行所述更新操作。可选地,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java类文件;所述更新执行子单元,具体用于用所述Java类文件所包含的类替换所述正在运行的业务程序的相应Java类。可选地,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java源代码;所述更新单元还包括:类文件生成子单元,用于将所述Java源代码生成Java类文件;所述更新执行子单元,具体用于用所述生成的Java类文件所包含的类替换所述正在运行的业务程序的相应Java类。可选地,还包括:指令获取单元,用于获取更新指令;所述代码更新单元,具体用于按照所述指令的指示,根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,该装置部署于用于提供物流服务的节点上,所述用于提供物流服务的节点包括:创建订单节点、发货节点、揽收节点、或者签收节点。本申请提供的一种用于采集业务数据的系统,包括配置服务器和客户端,配置服务器和客户端之间通过网络相连;其特征在于,所述配置服务器用于存储更新了业务数据采集功能的代码;所述客户端用于从配置服务器获取更新了业务数据采集功能的代码,并根据所述代码更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,所述客户端具体用于按照设定的时间间隔,通过网络从配置服务器下载所述代码,并用所述代码更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。可选地,所述配置服务器还用于通过网络推送更新了业务数据采集功能的代码到所述客户端。可选地,所述配置服务器还用于向客户端下达指令,指示客户端根据所述更新了业务数据采集功能的代码更新正在运行的业务程序的相应代码;所述客户端还用于接收配置服务器下达的指令,并按照指令实现所述用更新了业务数据采集功能的代码更新正在运行的业务程序的相应代码的功能。与现有技术相比,本申请具有以本文档来自技高网...
一种用于采集业务数据的方法和装置

【技术保护点】
一种用于采集业务数据的方法,其特征在于,包括以下步骤:获取更新了业务数据采集功能的代码;根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。

【技术特征摘要】
1.一种用于采集业务数据的方法,其特征在于,包括以下步骤:获取更新了业务数据采集功能的代码;根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。2.根据权利要求1所述的用于采集业务数据的方法,其特征在于,所述获取更新了业务数据采集功能的代码,包括:按照设定的时间间隔从配置服务器下载所述代码;或者,接收配置服务器推送的所述代码。3.根据权利要求1所述的用于采集业务数据的方法,其特征在于,所述业务数据采集功能包括,采集所述业务程序中的预设方法的以下原始业务数据之一或者任意组合:入口参数值、返回值、抛出的异常。4.根据权利要求3所述的用于采集业务数据的方法,其特征在于,所述业务数据采集功能还包括:根据采集到的原始业务数据采用预设算法生成数据采集结果。5.根据权利要求1所述的用于采集业务数据的方法,其特征在于,所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能包括:与所述正在运行的业务程序建立通信通道;通过所述通信通道执行所述更新操作。6.根据权利要求5所述的用于采集业务数据的方法,其特征在于,所述正在运行的业务程序是采用Java编写的;所述与所述正在运行的业务程序建立通信通道包括:利用JVM提供的attach功能,建立所述通信通道;所述通过所述通信通道执行所述更新操作,包括:利用JVMTI提供的instrument机制,执行所述更新操作。7.根据权利要求5所述的用于采集业务数据的方法,其特征在于,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java类文件;所述通过所述通信通道执行所述更新操作,包括:用所述Java类文件所包
\t含的类替换所述正在运行的业务程序的相应Java类。8.根据权利要求5所述的用于采集业务数据的方法,其特征在于,所述正在运行的业务程序是采用Java编写的,所述更新了业务数据采集功能的代码包括:更新了业务数据采集功能的Java源代码;所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码以实现所述业务数据采集功能还包括:根据所述Java源代码生成Java类文件;所述通过所述通信通道执行所述更新操作,包括:用所述生成的Java类文件所包含的类替换所述正在运行的业务程序的相应Java类。9.根据权利要求8所述的用于采集业务数据的方法,其特征在于,所述根据所述Java源代码生成Java类文件包括:利用groovy脚本将所述Java源代码编译成Java类文件。10.根据权利要求1所述的用于采集业务数据的方法,其特征在于,还包括以下步骤:获取更新指令;所述根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能包括:按照更新指令的指示,根据所述更新了业务数据采集功能的代码,更新正在运行的业务程序的相应代码,以实现所述业务数据采集功能。11.根据权利要求10所述的用于采集业务数据的方法,其特征在于,所述更新指令包括:待更新的正在运行的业务程序的相应代码的标识。12.根据权利要求10所述的用于采集业务数据的方法,其特征在于,所述更新指令包括:预设的更新时间。13.根据权利要求1-12任一项所述的用于采集业务数据的方法,其特征在于,所述方法在提供物流服务的节点上实施,所述提供物流服务的节点包括:创建订单节点、发货节点、揽收节点、或者签收节点。...

【专利技术属性】
技术研发人员:钟豪王维
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1