CN105912455A - 业务执行方法及服务器 - Google Patents
业务执行方法及服务器 Download PDFInfo
- Publication number
- CN105912455A CN105912455A CN201610272164.9A CN201610272164A CN105912455A CN 105912455 A CN105912455 A CN 105912455A CN 201610272164 A CN201610272164 A CN 201610272164A CN 105912455 A CN105912455 A CN 105912455A
- Authority
- CN
- China
- Prior art keywords
- business
- daily record
- server
- thread
- performs
- 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/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种业务执行方法,包括:所述业务服务器在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;若存在,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。本发明还公开了一种服务器。本发明降低了主业务与辅业务之间的耦合性,提高了服务器执行业务的性能及易扩展性。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种业务执行方法及服务器。
背景技术
通常在应用程序(Application,APP)、无线应用协议(Wireless ApplicationProtocol,WAP)或网站(Website,WEB)等执行较为重要的业务操作时,服务器将执行的业务分为主业务和辅业务,需要对主业务执行过程中每个业务环节的业务数据变更进行日志记录,进行日志记录即为辅业务的执行,以便于根据记录的日志进行轨迹追踪或业务***崩溃后业务数据可恢复。以应用商店***中安卓安装包(Android Package,APK)上传运营这一业务为例,运营人员在上传一个应用的新版本APK至服务器时,服务器需要执行APK信息解析、应用新版本数据创建、应用主表信息修改等主业务,并且在主业务执行的开始与结束时需执行辅业务对业务数据的变化进行记录,即进行日志记录。通过所记录的日志,不但可以清晰的获知APK上传时业务数据的变更,而且一旦执行业务的业务***突然崩溃,可以根据这些日志进行数据恢复与清理。
目前,在服务器执行主业务与辅业务的过程中,将主业务与辅业务混合在同一个线程上执行,即将主业务与日志记录混合在同一个线程上执行。这种做法,一方面造成主业务与辅业务的高度耦合,不利于服务器对应的业务***进行后期拓展;另外一方面由于记录日志需要与数据库打交道,从而延长了业务处理的时长,损耗了服务器执行业务的性能。
发明内容
本发明的主要目的在于提供一种业务执行方法及服务器,旨在降低主业务与辅业务之间的耦合性,提高服务器执行业务的性能及易扩展性。
为实现上述目的,本发明提供了一种服务器,所述服务器包括业务服务器,所述业务服务器包括:
判断模块,用于在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
传送模块,用于若各业务层对应的执行步骤中存在执行辅业务的日志注解,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
控制模块,用于在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
可选地,所述服务器还包括日志服务器,所述日志服务器包括:
记录模块,用于在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
可选地,所述各业务层包括控制层、业务层及数据逻辑层,所述判断模块还用于,先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
可选地,所述相关信息包括参数信息及结构化查询语言模版,所述预设格式包括结构化查询语言语句格式,所述控制模块还用于,控制所述支线程任务池根据接收到的所述结构化查询语言模版,将所述参数信息封装为结构化查询语言语句格式的数据。
可选地,所述日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
此外,为实现上述目的,本发明还提供了一种业务执行方法,所述业务执行方法应用于服务器,所述服务器包括业务服务器,所述业务包括主业务和辅业务,所述业务执行方法包括以下步骤:
所述业务服务器在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
若存在,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
可选地,所述服务器还包括日志服务器,所述控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中之后包括:
所述日志服务器在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
可选地,所述各业务层包括控制层、业务层及数据逻辑层,所述依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解包括:
先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
可选地,所述相关信息包括参数信息及结构化查询语言模版,所述预设格式包括结构化查询语言语句格式,所述控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据包括:
控制所述支线程任务池根据接收到的所述结构化查询语言模版,将所述参数信息封装为结构化查询语言语句格式的数据。
可选地,所述日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
本发明实施例业务服务器通过主线程执行业务请求对应的主业务,并当各业务层对应的执行步骤中存在执行辅业务的日志注解时,将该日志注解的相关信息传送至支线程任务池。在主线程执行主业务的同时,控制支线程任务池对日志注解的相关信息封装为预设格式的数据存储至存储数据库中,以供日志服务器从存储数据库中获取数据写入日志数据库中。从而可以通过将主业务与辅业务分别在主线程与支线程上执行,并分别设置业务服务器与日志服务器及其对应的数据库对相应的数据进行存储。相对于现有技术中将主业务与辅业务混合在同一线程上执行,降低了主业务与辅业务之间的耦合性,提高了服务器执行业务的性能及易扩展性。
附图说明
图1为本发明服务器一实施例的功能模块示意图;
图2为本发明服务器执行业务的结构示意图;
图3为本发明服务器另一实施例的功能模块示意图;
图4为本发明业务执行方法一实施例的流程示意图;
图5为本发明业务执行方法另一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,示出了本发明一种服务器第一实施例。该实施例的服务器包括业务服务器,所述业务服务器包括:
判断模块10,用于在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
本实施例中,业务执行方法应用于服务器,业务包括主业务和辅业务,主业务为该业务的核心业务,辅业务为记录日志等次要的业务。可选地,为了降低主业务和辅业务的耦合性,主业务由主线程执行,辅业务由支线程执行,两者之间互不干扰。同时,将服务器划分为业务服务器、日志服务器等,且业务服务器对应设置业务数据库,用于存储核心业务的相关数据;日志服务器对应设置日志数据库,用于存储记录日志相关的数据。
具体地,业务服务器侦测是否接收到客户端的HTTP请求(即业务请求),该HTTP请求是指从客户端到服务器端的请求消息,包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。当业务服务器接收到客户端发送的业务请求时,业务服务器通过预置的主线程执行该业务请求对应的主业务,并由判断模块10依次判断控制层、业务层及数据逻辑层等各业务层对应的执行步骤中是否存在执行辅业务的日志注解,形成面向切面的注解方式。
需要说明的是,日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
每个日志注解对应一个标签,可根据业务的实际需要,设置日志注解的标签对各个业务层的逻辑步骤进行选择性标记。例如,日志注解的标签包括@LogBefore、@LogAfter、@LogAround、@LogThrow及@LogReturn,不同的日志注解的标签表达意义不同,相同的或不同的日志注解的标签可叠加使用。其中,
@LogBefore表示在当前步骤执行前***一条日志;
@LogAfter表示在当前步骤执行结束后***一条日志;
@LogAround表示在当前步骤执行前与后各***一条日志;
@LogThrow表示在当前步骤执行出现异常时***一条日志;
@LogReturn表示若当前步骤需要返回结果,则执行结束后会***一条日志。
传送模块20,用于若各业务层对应的执行步骤中存在执行辅业务的日志注解,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
在判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解后,若各业务层对应的执行步骤中不存在执行辅业务的日志注解,则说明业务服务器不需要通过支线程执行辅业务,即不需要执行后续的相关步骤。若各业务层对应的执行步骤中存在执行辅业务的日志注解,则业务服务器调用传送模块20将日志注解的相关信息传送至预置的与主线程异步的支线程任务池。日志注解的相关信息包括注解配置、参数信息、SQL(Structured QueryLanguage,结构化查询语言)模板、Cache缓存等信息。
控制模块30,用于在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
业务服务器将日志注解的相关信息传送至支线程任务池后,在主线程执行主业务,而控制模块30控制支线程执行辅业务,两者之间是同步进行的,且互不干扰。控制模块30控制任务池在接收到注解配置、参数信息、SQL模板、Cache缓存等信息后,根据反射机制对接收到的日志注解的相关信息封装为预设格式的数据,实现对日志注解对应的日志进行组装。该预设格式的数据可包括SQL语句格式的数据,反射机制可定义为动态提取日志注解的相关信息进行写日志。然后控制模块30将预设格式的数据存储至预置的存储数据库中,该存储数据库可为Redis存储队列。从而使得主线程专注于核心业务处理,无损核心业务,异步支线程则处理日志数据,可很大程度上减少业务处理耗时,提升服务器对业务处理性能。需要说明的是,存储数据库(即Redis存储队列)可设置于业务服务器内,也可单独设置存储服务器对应该存储数据库,用于存储预设格式的数据。
以下进行举例说明,如图2所示,服务器包括业务服务器和日志服务器,业务服务器对应设置主业务数据库,日志服务器对应设置日志存储数据库,存储数据库(即Redis存储队列)单独设置。具体地,当业务请求抵达业务服务器时,首先进入的是控制层,由主线程执行相应的步骤,在执行步骤的过程中判断对应的步骤中是否存在日志注解;若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将日志注解的相关信息传入支线程任务池。当控制层内部涉及业务层的调用时,在触发执行业务层相关步骤过程中,判断业务层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取该日志注解的相关信息,将日志注解的相关信息传入支线程任务池。同理,当业务层涉及数据逻辑层的调用时,对日志注解的处理方法与业务层的相同。主线程执行主业务操作产生的数据将存储在主业务数据库中。支线程任务池在接收到日志注解的相关信息后,根据反射机制,根据相关信息进行日志SQL语句格式的封装形成SQL语句格式的数据,并将SQL语句格式的数据推入存储数据库中,该支线程任务池相当于类生产者。日志服务器的线程任务池实时监测存储数据库中是否存在数据,线程任务池相当于类消费者。当存储数据库中存在数据时,则线程任务池启动相应的数量的分支线程,将存储数据库中的SQL语句格式的数据取出,执行将日志写入日志存储数据库的操作。
业务服务器在主线程执行主业务时对三大业务层次进行日志注解的监控,实现主业务与辅业务执行的解耦,日志注解对应日志信息的封装由支线程任务池处理;封装好后的日志信息以生产者模式传入存储数据库中。日志记录服务器以消费者模式不间断从存储数据库中提取流水日志信息,写入独立的日志存储数据库中。从而在使用面向切面注解方式解耦主业务与辅业务执行的基础上,主业务数据库与日志存储数据库实现分离,可加快主业务的处理速度;且主业务的执行、日志信息的封装、日志服务器读写日志三者是同步执行,实现缩短执行业务的耗时,加速业务功能的整体执行效率。
本发明实施例业务服务器通过主线程执行业务请求对应的主业务,并当各业务层对应的执行步骤中存在执行辅业务的日志注解时,将该日志注解的相关信息传送至支线程任务池。在主线程执行主业务的同时,控制支线程任务池对日志注解的相关信息封装为预设格式的数据存储至存储数据库中,以供日志服务器从存储数据库中获取数据写入日志数据库中。从而可以通过将主业务与辅业务分别在主线程与支线程上执行,并分别设置业务服务器与日志服务器及其对应的数据库对相应的数据进行存储。相对于现有技术中将主业务与辅业务混合在同一线程上执行,降低了主业务与辅业务之间的耦合性,提高了服务器执行业务的性能及易扩展性,达到提升用户体验的目的。
进一步地,如图3所示,基于上述服务器第一实施例,提出了本发明服务器第二实施例,第二实施例与第一实施例的区别在于,该第二实施例中上述服务器还包括日志服务器,所述日志服务器包括:
记录模块40,用于在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
本实施例中,上述服务器还包括日志服务器,日志服务器实时侦测存储数据库(即Redis存储队列)中的数据。在上述业务服务器将预设格式的数据存储至预置的存储数据库中后,日志服务器在侦测到存储数据库中存储有预设格式的数据时,记录模块40启动相应的数量的任务线程将执行将该预设格式的数据写入预置的日志数据库中,以对日志注解对应的日志进行记录,日志存储数据库中记录日志的规范的一实施例可如表1所示,可以理解的是,表1中记录日志的规范也可以根据实际需要进行设置,并不限定本发明。
需要说明的是,日志服务器的任务线程池中的分支线程数量是有限的,任务线程池中任务线程数量的最大阈值可根据具体情况而灵活设置,日志服务器只能启动到最大阈值的数量的分支线程。在启动分支线程的过程中,随着存储数据库中数据的减少,相应的分支线程也会被回收。例如,当预设格式的数据为SQL语句格式的数据时,记录模块40在侦测到储数据库中存储有一个SQL语句格式的数据时,启动一个分支线程将储数据库中的SQL语句格式的数据取出,将数据保存到日志存储数据库中。
表1.日志存储数据库中记录日志的规范
在现有服务器执行业务的过程中,由于是将主业务与辅业务耦合交错在一起,以串行方式执行,因此,辅业务的执行所消耗的时间无形中增加了整体业务的处理时长,损耗了服务器对应执行***的性能。例如,业务执行完毕需要耗时T0为5秒,其中,主业务执行耗时T1为3.3秒,辅业务执行耗时T2为1.7秒。
而本实施例中,在使用面向切面注解方式解耦主业务与辅业务执行的基础上,主业务与辅业务异步执行,实现缩短甚至是消除执行辅业务的耗时,加速业务功能的整体执行效率。例如,主业务执行耗时T1为3.3秒,辅业务执行耗时T2为1.7秒,两者之间互不干扰。
本实施例通过日志服务器提取存储数据库中的数据,启动相应的任务线程将该数据写入日志数据库中,以对日志注解对应的日志进行记录。降低了主业务与辅业务之间的耦合性,使得主线程专注于执行主业务,支线程则执行辅业务,减少了整体业务处理的耗时,提升服务器对业务处理性能。
进一步地,基于上述服务器第一实施例,提出了本发明服务器第三实施例,第三实施例与第一实施例的区别在于,该第三实施例中上述判断模块10还用于,先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
本实施例中,各业务层包括控制层、业务层及数据逻辑层,在判断模块10判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解的过程中,当业务请求达到业务服务器时,首先进入控制层(即Controller层),并调用预置的监控程序判断对应的步骤中是否有日志注解。若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入与主线程异步的支线程任务池。当Controller层内部涉及业务层(即Service层)调用时,在触发Service层步骤执行前后,监控程序会判断Service层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入支线程任务池。同理,当Service层涉及数据逻辑层(即Dao层)的调用时,判断Dao层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入支线程任务池。例如,在Controller层的步骤执行过程中,当存在@LogBefore注解时,在当前步骤执行前***一条日志。在Service层的步骤执行过程中,当存在@LogThrow注解时,在当前步骤执行出现异常时***一条日志。在Dao层的步骤执行过程中,当存在@LogAround注解时,在当前步骤执行前与后各***一条日志。
本实施例在控制层、业务层及数据逻辑层等各业务层对应的执行步骤中,判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解,以将日志注解的相关信息传送至支线程任务池,实现了通过面向切面的日志注解方式解耦主业务与辅业务执行,提高了业务服务器执行业务的便捷性。
进一步地,基于上述服务器第一实施例,提出了本发明服务器第四实施例,第四实施例与第一实施例的区别在于,该第四实施例中上述控制模块30还用于,控制所述支线程任务池根据接收到的所述SQL模版,将所述参数信息封装为SQL语句格式的数据。
本实施例中,日志注解的相关信息包括注解配置、参数信息、SQL模板、Cache缓存等信息,预设格式的数据包括SQL语句格式的数据。业务服务器在由主线程执行主业务的同时,控制支线程执行辅业务。具体地,控制模块30控制支线程任务池接收到注解配置、参数信息、SQL模板、Cache缓存等信息后,可根据接收到的注解配置获取对应的日志注解,根据日志注解执行相应的操作。以及根据接收到的SQL模版,将参数信息封装为SQL语句格式的数据。然后将SQL语句格式的数据传入存储数据库。
本实施例由支线程任务池根据SQL模版将相关的参数信息封装为SQL语句格式的数据,使得主线程执行主业务与支线程执行辅任务是异步进行的,互不干扰,可很大程度上减少业务处理耗时,提升服务器对业务处理的性能。
对应地,如图4所示,提出本发明一种业务执行方法第一实施例。该实施例的业务执行方法包括:
步骤S10、所述业务服务器在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
本实施例中,业务执行方法应用于服务器,业务包括主业务和辅业务,主业务为该业务的核心业务,辅业务为记录日志等次要的业务。可选地,为了降低主业务和辅业务的耦合性,主业务由主线程执行,辅业务由支线程执行,两者之间互不干扰。同时,将服务器划分为业务服务器、日志服务器等,且业务服务器对应设置业务数据库,用于存储核心业务的相关数据;日志服务器对应设置日志数据库,用于存储记录日志相关的数据。
具体地,业务服务器侦测是否接收到客户端的HTTP请求(即业务请求),该HTTP请求是指从客户端到服务器端的请求消息,包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。当业务服务器接收到客户端发送的业务请求时,业务服务器通过预置的主线程执行该业务请求对应的主业务,并依次判断控制层、业务层及数据逻辑层等各业务层对应的执行步骤中是否存在执行辅业务的日志注解,形成面向切面的注解方式。
需要说明的是,日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
每个日志注解对应一个标签,可根据业务的实际需要,设置日志注解的标签对各个业务层的逻辑步骤进行选择性标记。例如,日志注解的标签包括@LogBefore、@LogAfter、@LogAround、@LogThrow及@LogReturn,不同的日志注解的标签表达意义不同,相同的或不同的日志注解的标签可叠加使用。其中,
@LogBefore表示在当前步骤执行前***一条日志;
@LogAfter表示在当前步骤执行结束后***一条日志;
@LogAround表示在当前步骤执行前与后各***一条日志;
@LogThrow表示在当前步骤执行出现异常时***一条日志;
@LogReturn表示若当前步骤需要返回结果,则执行结束后会***一条日志。
步骤S20、若存在,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
在判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解后,若各业务层对应的执行步骤中不存在执行辅业务的日志注解,则说明业务服务器不需要通过支线程执行辅业务,即不需要执行后续的相关步骤。若各业务层对应的执行步骤中存在执行辅业务的日志注解,则业务服务器将日志注解的相关信息传送至预置的与主线程异步的支线程任务池。日志注解的相关信息包括注解配置、参数信息、SQL模板、Cache缓存等信息。
步骤S30、在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
业务服务器将日志注解的相关信息传送至支线程任务池后,在主线程执行主业务,而由支线程执行辅业务,两者之间是同步进行的,且互不干扰。任务池在接收到注解配置、参数信息、SQL模板、Cache缓存等信息后,根据反射机制对接收到的日志注解的相关信息封装为预设格式的数据,实现对日志注解对应的日志进行组装。该预设格式的数据可包括SQL语句格式的数据,反射机制可定义为动态提取日志注解的相关信息进行写日志。然后业务服务器将预设格式的数据存储至预置的存储数据库中,该存储数据库可为Redis存储队列。从而使得主线程专注于核心业务处理,无损核心业务,异步支线程则处理日志数据,可很大程度上减少业务处理耗时,提升服务器对业务处理性能。需要说明的是,存储数据库(即Redis存储队列)可设置于业务服务器内,也可单独设置存储服务器对应该存储数据库,用于存储预设格式的数据。
以下进行举例说明,如图2所示,服务器包括业务服务器和日志服务器,业务服务器对应设置主业务数据库,日志服务器对应设置日志存储数据库,存储数据库(即Redis存储队列)单独设置。具体地,当业务请求抵达业务服务器时,首先进入的是控制层,由主线程执行相应的步骤,在执行步骤的过程中判断对应的步骤中是否存在日志注解;若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将日志注解的相关信息传入支线程任务池。当控制层内部涉及业务层的调用时,在触发执行业务层相关步骤过程中,判断业务层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取该日志注解的相关信息,将日志注解的相关信息传入支线程任务池。同理,当业务层涉及数据逻辑层的调用时,对日志注解的处理方法与业务层的相同。主线程执行主业务操作产生的数据将存储在主业务数据库中。支线程任务池在接收到日志注解的相关信息后,根据反射机制,根据相关信息进行日志SQL语句格式的封装形成SQL语句格式的数据,并将SQL语句格式的数据推入存储数据库中,该支线程任务池相当于类生产者。日志服务器的线程任务池实时监测存储数据库中是否存在数据,线程任务池相当于类消费者。当存储数据库中存在数据时,则线程任务池启动相应的数量的分支线程,将存储数据库中的SQL语句格式的数据取出,执行将日志写入日志存储数据库的操作。
业务服务器在主线程执行主业务时对三大业务层次进行日志注解的监控,实现主业务与辅业务执行的解耦,日志注解对应日志信息的封装由支线程任务池处理;封装好后的日志信息以生产者模式传入存储数据库中。日志记录服务器以消费者模式不间断从存储数据库中提取流水日志信息,写入独立的日志存储数据库中。从而在使用面向切面注解方式解耦主业务与辅业务执行的基础上,主业务数据库与日志存储数据库实现分离,可加快主业务的处理速度;且主业务的执行、日志信息的封装、日志服务器读写日志三者是同步执行,实现缩短执行业务的耗时,加速业务功能的整体执行效率。
本发明实施例业务服务器通过主线程执行业务请求对应的主业务,并当各业务层对应的执行步骤中存在执行辅业务的日志注解时,将该日志注解的相关信息传送至支线程任务池。在主线程执行主业务的同时,控制支线程任务池对日志注解的相关信息封装为预设格式的数据存储至存储数据库中,以供日志服务器从存储数据库中获取数据写入日志数据库中。从而可以通过将主业务与辅业务分别在主线程与支线程上执行,并分别设置业务服务器与日志服务器及其对应的数据库对相应的数据进行存储。相对于现有技术中将主业务与辅业务混合在同一线程上执行,降低了主业务与辅业务之间的耦合性,提高了服务器执行业务的性能及易扩展性,达到提升用户体验的目的。
进一步地,如图5所示,基于上述业务执行方法第一实施例,提出了本发明业务执行方法第二实施例,第二实施例与第一实施例的区别在于,该第二实施例中上述步骤S30之后包括:所述日志服务器在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
本实施例中,上述服务器还包括日志服务器,日志服务器实时侦测存储数据库(即Redis存储队列)中的数据。在上述业务服务器将预设格式的数据存储至预置的存储数据库中后,日志服务器在侦测到存储数据库中存储有预设格式的数据时,启动相应的数量的任务线程将执行将该预设格式的数据写入预置的日志数据库中,以对日志注解对应的日志进行记录,日志存储数据库中记录日志的规范的一实施例可如上述表1所示,可以理解的是,上述表1中记录日志的规范也可以根据实际需要进行设置,并不限定本发明。
需要说明的是,日志服务器的任务线程池中的分支线程数量是有限的,任务线程池中任务线程数量的最大阈值可根据具体情况而灵活设置,日志服务器只能启动到最大阈值的数量的分支线程。在启动分支线程的过程中,随着存储数据库中数据的减少,相应的分支线程也会被回收。例如,当预设格式的数据为SQL语句格式的数据时,日志服务器在侦测到储数据库中存储有一个SQL语句格式的数据时,启动一个分支线程将储数据库中的SQL语句格式的数据取出,将数据保存到日志存储数据库中。
现有服务器执行业务的过程中,由于是将主业务与辅业务耦合交错在一起,以串行方式执行,因此,辅业务的执行所消耗的时间无形中增加了整体业务的处理时长,损耗了服务器对应执行***的性能。例如,业务执行完毕需要耗时T0为5秒,其中,主业务执行耗时T1为3.3秒,辅业务执行耗时T2为1.7秒。
而本实施例中,在使用面向切面注解方式解耦主业务与辅业务执行的基础上,主业务与辅业务异步执行,实现缩短甚至是消除执行辅业务的耗时,加速业务功能的整体执行效率。例如,主业务执行耗时T1为3.3秒,辅业务执行耗时T2为1.7秒,两者之间互不干扰。
本实施例通过日志服务器提取存储数据库中的数据,启动相应的任务线程将该数据写入日志数据库中,以对日志注解对应的日志进行记录。降低了主业务与辅业务之间的耦合性,使得主线程专注于执行主业务,支线程则执行辅业务,减少了整体业务处理的耗时,提升服务器对业务处理性能。
进一步地,基于上述业务执行方法第一实施例,提出了本发明业务执行方法第三实施例,第三实施例与第一实施例的区别在于,该第三实施例中上述依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解的步骤包括:先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
本实施例中,各业务层包括控制层、业务层及数据逻辑层,在业务服务器判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解的过程中,当业务请求达到业务服务器时,首先进入控制层(即Controller层),并调用预置的监控程序判断对应的步骤中是否有日志注解。若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入与主线程异步的支线程任务池。当Controller层内部涉及业务层(即Service层)调用时,在触发Service层步骤执行前后,监控程序会判断Service层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入支线程任务池。同理,当Service层涉及数据逻辑层(即Dao层)的调用时,判断Dao层对应的步骤中是否存在日志注解,若存在,则通过面向切面的日志注解方式,获取日志注解的相关信息,将注解配置、参数信息、SQL模板、Cache缓存等日志注解的相关信息传入支线程任务池。例如,在Controller层的步骤执行过程中,当存在@LogBefore注解时,在当前步骤执行前***一条日志。在Service层的步骤执行过程中,当存在@LogThrow注解时,在当前步骤执行出现异常时***一条日志。在Dao层的步骤执行过程中,当存在@LogAround注解时,在当前步骤执行前与后各***一条日志。
本实施例在控制层、业务层及数据逻辑层等各业务层对应的执行步骤中,判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解,以将日志注解的相关信息传送至支线程任务池,实现了通过面向切面的日志注解方式解耦主业务与辅业务执行,提高了业务服务器执行业务的便捷性。
进一步地,基于上述业务执行方法第一实施例,提出了本发明业务执行方法第四实施例,第四实施例与第一实施例的区别在于,该实施例中上述控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据的步骤包括:控制所述支线程任务池根据接收到的所述SQL模版,将所述参数信息封装为SQL语句格式的数据。
本实施例中,日志注解的相关信息包括注解配置、参数信息、SQL模板、Cache缓存等信息,预设格式的数据包括SQL语句格式的数据。业务服务器在由主线程执行主业务的同时,控制支线程执行辅业务。具体地,支线程任务池接收到注解配置、参数信息、SQL模板、Cache缓存等信息后,可根据接收到的注解配置获取对应的日志注解,根据日志注解执行相应的操作。以及根据接收到的SQL模版,将参数信息封装为SQL语句格式的数据。然后将SQL语句格式的数据传入存储数据库。
本实施例由支线程任务池根据SQL模版将相关的参数信息封装为SQL语句格式的数据,使得主线程执行主业务与支线程执行辅任务是异步进行的,互不干扰,可很大程度上减少业务处理耗时,提升服务器对业务处理的性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种服务器,其特征在于,所述服务器包括业务服务器,所述业务服务器包括:
判断模块,用于在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
传送模块,用于若各业务层对应的执行步骤中存在执行辅业务的日志注解,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
控制模块,用于在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
2.如权利要求1所述的服务器,其特征在于,所述服务器还包括日志服务器,所述日志服务器包括:
记录模块,用于在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
3.如权利要求1所述的服务器,其特征在于,所述各业务层包括控制层、业务层及数据逻辑层,所述判断模块还用于,先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
4.如权利要求1所述的服务器,其特征在于,所述相关信息包括参数信息及结构化查询语言模版,所述预设格式包括结构化查询语言语句格式,所述控制模块还用于,控制所述支线程任务池根据接收到的所述结构化查询语言模版,将所述参数信息封装为结构化查询语言语句格式的数据。
5.如权利要求1-4任一项所述的服务器,其特征在于,所述日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
6.一种业务执行方法,其特征在于,所述业务执行方法应用于服务器,所述服务器包括业务服务器,所述业务包括主业务和辅业务,所述业务执行方法包括以下步骤:
所述业务服务器在接收到业务请求时,通过预置的主线程执行所述业务请求对应的主业务,依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解;
若存在,则将所述日志注解的相关信息传送至所述业务服务器预置的与所述主线程异步的支线程任务池;
在所述主线程执行所述主业务的同时,控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中。
7.如权利要求6所述的业务执行方法,其特征在于,所述服务器还包括日志服务器,所述控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据,将所述预设格式的数据存储至预置的存储数据库中之后包括:
所述日志服务器在侦测到所述存储数据库中存储有所述预设格式的数据时,启动相应的任务线程将所述预设格式的数据写入预置的日志数据库中,以对所述日志注解对应的日志进行记录。
8.如权利要求6所述的业务执行方法,其特征在于,所述各业务层包括控制层、业务层及数据逻辑层,所述依次判断各业务层对应的执行步骤中是否存在执行辅业务的日志注解包括:
先判断所述控制层对应的执行步骤中是否存在执行辅业务的日志注解,在所述控制层内部调用所述业务层时,再判断所述业务层对应的执行步骤中是否存在执行辅业务的日志注解;然后在所述业务层内部调用所述数据逻辑层时,判断所述数据逻辑层对应的执行步骤中是否存在执行辅业务的日志注解。
9.如权利要求6所述的业务执行方法,其特征在于,所述相关信息包括参数信息及结构化查询语言模版,所述预设格式包括结构化查询语言语句格式,所述控制所述支线程任务池对接收到的所述日志注解的相关信息封装为预设格式的数据包括:
控制所述支线程任务池根据接收到的所述结构化查询语言模版,将所述参数信息封装为结构化查询语言语句格式的数据。
10.如权利要求6-9任一项所述的业务执行方法,其特征在于,所述日志注解包括在当前步骤执行前***一条日志、在当前步骤执行结束后***一条日志、在当前步骤执行前与执行后各***一条日志、在当前步骤执行出现异常时***一条日志及在当前步骤需要返回结果时执行结束后***一条日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610272164.9A CN105912455B (zh) | 2016-04-27 | 2016-04-27 | 业务执行方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610272164.9A CN105912455B (zh) | 2016-04-27 | 2016-04-27 | 业务执行方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912455A true CN105912455A (zh) | 2016-08-31 |
CN105912455B CN105912455B (zh) | 2018-11-02 |
Family
ID=56753037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610272164.9A Active CN105912455B (zh) | 2016-04-27 | 2016-04-27 | 业务执行方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912455B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649744A (zh) * | 2016-12-26 | 2017-05-10 | 金蝶软件(中国)有限公司 | 日志记录方法及装置 |
CN106776803A (zh) * | 2016-11-24 | 2017-05-31 | 北京锐安科技有限公司 | 一种日志记录的更新方法及装置 |
CN107291493A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种后台业务处理框架的搭建方法和*** |
CN107766101A (zh) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App启动事件的处理方法、装置和设备 |
CN108011966A (zh) * | 2017-12-14 | 2018-05-08 | 广东金赋科技股份有限公司 | 一种自助终端日志压缩上传的优化方法 |
CN108460078A (zh) * | 2018-01-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 辅助功能的执行方法、装置、存储介质及终端 |
CN108628891A (zh) * | 2017-03-21 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 实现数据缓存层的方法、装置、电子设备和可读存储介质 |
CN109086034A (zh) * | 2018-07-13 | 2018-12-25 | 山东恒云信息科技有限公司 | 利用AOP与Spring依赖注入实现应用数据自动备份的方法 |
CN109446175A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种构建关键操作的日志对象的方法和装置 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN113661484A (zh) * | 2021-08-25 | 2021-11-16 | 商汤国际私人有限公司 | 日志记录方法及装置、电子设备、计算机可读存储介质 |
CN114579212A (zh) * | 2022-02-24 | 2022-06-03 | 北京航星永志科技有限公司 | 一种***日志记录方法、装置、电子设备与存储介质 |
CN115794195A (zh) * | 2023-02-08 | 2023-03-14 | 湖南三湘银行股份有限公司 | 一种基于Viper构架的银行业务管理及维护方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873276A (zh) * | 2012-12-12 | 2014-06-18 | ***通信集团浙江有限公司 | 一种j2ee架构下业务的处理方法及*** |
US20140282427A1 (en) * | 2013-03-13 | 2014-09-18 | Microsoft Corporation | Diagnostics of state transitions |
CN105119752A (zh) * | 2015-09-08 | 2015-12-02 | 北京京东尚科信息技术有限公司 | 一种分布式日志采集方法、装置及*** |
-
2016
- 2016-04-27 CN CN201610272164.9A patent/CN105912455B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873276A (zh) * | 2012-12-12 | 2014-06-18 | ***通信集团浙江有限公司 | 一种j2ee架构下业务的处理方法及*** |
US20140282427A1 (en) * | 2013-03-13 | 2014-09-18 | Microsoft Corporation | Diagnostics of state transitions |
CN105119752A (zh) * | 2015-09-08 | 2015-12-02 | 北京京东尚科信息技术有限公司 | 一种分布式日志采集方法、装置及*** |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776803A (zh) * | 2016-11-24 | 2017-05-31 | 北京锐安科技有限公司 | 一种日志记录的更新方法及装置 |
CN106649744A (zh) * | 2016-12-26 | 2017-05-10 | 金蝶软件(中国)有限公司 | 日志记录方法及装置 |
CN106649744B (zh) * | 2016-12-26 | 2019-11-05 | 金蝶软件(中国)有限公司 | 日志记录方法及装置 |
CN108628891A (zh) * | 2017-03-21 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 实现数据缓存层的方法、装置、电子设备和可读存储介质 |
CN107291493A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种后台业务处理框架的搭建方法和*** |
CN107766101A (zh) * | 2017-09-30 | 2018-03-06 | 五八有限公司 | App启动事件的处理方法、装置和设备 |
CN108011966A (zh) * | 2017-12-14 | 2018-05-08 | 广东金赋科技股份有限公司 | 一种自助终端日志压缩上传的优化方法 |
CN108460078A (zh) * | 2018-01-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 辅助功能的执行方法、装置、存储介质及终端 |
CN108460078B (zh) * | 2018-01-08 | 2020-10-13 | 平安科技(深圳)有限公司 | 辅助功能的执行方法、装置、存储介质及终端 |
CN109086034A (zh) * | 2018-07-13 | 2018-12-25 | 山东恒云信息科技有限公司 | 利用AOP与Spring依赖注入实现应用数据自动备份的方法 |
CN109446175A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种构建关键操作的日志对象的方法和装置 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN113661484A (zh) * | 2021-08-25 | 2021-11-16 | 商汤国际私人有限公司 | 日志记录方法及装置、电子设备、计算机可读存储介质 |
CN114579212A (zh) * | 2022-02-24 | 2022-06-03 | 北京航星永志科技有限公司 | 一种***日志记录方法、装置、电子设备与存储介质 |
CN115794195A (zh) * | 2023-02-08 | 2023-03-14 | 湖南三湘银行股份有限公司 | 一种基于Viper构架的银行业务管理及维护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105912455B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912455A (zh) | 业务执行方法及服务器 | |
CN108076098B (zh) | 一种业务处理方法及*** | |
CN103186466B (zh) | 基于关联测试用例自动生成的信息交互测试装置及方法 | |
CN101707399B (zh) | 电能信息采集方法及*** | |
CN107689982A (zh) | 多数据源数据同步方法、应用服务器及计算机可读存储介质 | |
CN105893091A (zh) | 一种智能机器人软件程序升级的方法及*** | |
CN107870948A (zh) | 任务调度方法和装置 | |
CN108134690B (zh) | 网络业务部署流程控制方法、装置及*** | |
CN110063042B (zh) | 一种数据库故障的响应方法及其终端 | |
CN103064717A (zh) | 一种集群***并行安装软件的装置和方法 | |
CN113840040B (zh) | 一种人机协作的外呼方法、装置、设备及存储介质 | |
CN111651526B (zh) | 冗余前端处理器的数据同步方法、前端处理器和处理*** | |
CN101930361A (zh) | 在线数据存储服务提供方法及*** | |
CN114328217A (zh) | 应用的测试方法、装置、设备、介质及计算机程序产品 | |
CN115834654A (zh) | 一种基于多重映射的数据高效传输方法 | |
CN108075911B (zh) | 一种业务测试方法和装置 | |
CN106850724A (zh) | 数据推送方法及装置 | |
CN107134124A (zh) | 宽带载波通信模块载波芯片抄表接口统一管理控制方法 | |
CN110932393B (zh) | 一种变电站保信主站***及其数据初始化方法 | |
CN111338767B (zh) | PostgreSQL主从数据库自动切换***及方法 | |
CN106254534A (zh) | 基于混合架构的分布式集群监控代理及方法 | |
CN107291777A (zh) | 一种热点数据识别和处理的方法和装置 | |
CN105956107B (zh) | 基于iec61968消息的数据质量检测方法 | |
CN100438420C (zh) | 网络媒体播放控制***及其方法 | |
CN111177599A (zh) | 基于切面的跨***链路追踪方法 |
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 |