CN113986501A - 实时数据库api无中断调用方法、***、存储介质及服务器 - Google Patents

实时数据库api无中断调用方法、***、存储介质及服务器 Download PDF

Info

Publication number
CN113986501A
CN113986501A CN202111264943.1A CN202111264943A CN113986501A CN 113986501 A CN113986501 A CN 113986501A CN 202111264943 A CN202111264943 A CN 202111264943A CN 113986501 A CN113986501 A CN 113986501A
Authority
CN
China
Prior art keywords
service process
request message
api
network service
message
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.)
Pending
Application number
CN202111264943.1A
Other languages
English (en)
Inventor
何清
王毅
王奕飞
谢贝贝
何新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Thermal Power Research Institute Co Ltd
Xian TPRI Power Station Information Technology Co Ltd
Original Assignee
Xian Thermal Power Research Institute Co Ltd
Xian TPRI Power Station Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Thermal Power Research Institute Co Ltd, Xian TPRI Power Station Information Technology Co Ltd filed Critical Xian Thermal Power Research Institute Co Ltd
Priority to CN202111264943.1A priority Critical patent/CN113986501A/zh
Publication of CN113986501A publication Critical patent/CN113986501A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种实时数据库API无中断调用方法、***、存储介质及服务器,方法包括客户端通过API发起请求报文并等待响应;网络服务进程接收请求报文,然后转发请求报文到业务服务进程;网络服务进程如果通讯中断,则等待业务服务进程的服务恢复并重新建立连接后,重发请求报文;业务服务进程处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃则恢复指定服务进程和数据,等待重发请求报文;网络服务进程如果收到响应报文,则删除相应的缓存指令,并将响应报文回传给客户端;如果客户端超时未收到响应报文,则在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文。本发明避免了客户端API调用中断。

Description

实时数据库API无中断调用方法、***、存储介质及服务器
技术领域
本发明属于实时数据库开发技术领域,具体涉及一种实时数据库API无中断调用方法、***、存储介质及服务器。
背景技术
各国制造业创新战略的实施基础都是工业大数据的搜集和特征分析,及以此为未来制造***搭建的无忧环境。实时数据库是工业大数据的核心服务,也是工业4.0的基础。
发电企业需要从DCS、辅控等工控***采集海量生产实时数据,并存储到实时数据库当中,对这些入库的数据的安全性要求非常高,不允许因为软件缺陷造成已入库的数据丢失。
但是当服务进程崩溃时,正在处理或等待处理的客户端API请求会被中断,一般的处理办法是等待客户端API请求超时或检测到网络连接中断,然后用户重连实时数据库后重新发送请求报文。但这种办法存在很大的缺陷,通过客户端API请求超时或检测到网络连接中断来重新发送请求报文,耗时较长,不利于海量数据快速处理,并会增加应用层***的开发复杂度。如果仅为业务服务进程崩溃,而网络服务进程正常时,网络连接是正常的,业务服务进程恢复时间不可知,重发请求报文的时机不好控制,可能会造成本次API调用失败。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供一种实时数据库API无中断调用方法、***、存储介质及服务器,避免实时数据库的服务进程崩溃造成客户端API调用中断。
为了实现上述目的,本发明有如下的技术方案:
第一方面,提供一种实时数据库API无中断调用方法,包括以下步骤:
客户端通过API发起请求报文,并等待响应;
网络服务进程接收请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断,则等待业务服务进程的服务恢复并与网络服务进程重新建立连接后,重发请求报文;
如果业务服务进程运行正常,则处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃,则恢复指定服务进程和数据,等待网络服务进程重发请求报文;
网络服务进程如果收到业务服务进程的响应报文,则删除相应的缓存指令,并将响应报文回传给客户端;
如果客户端超时未收到响应报文,则API调用失败,在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文,实现不中断API调用。
作为本发明方法的一种优选方案,所述客户端通过API发起请求报文包括以下步骤:实时数据库客户端将属性数据组成报文头,将请求参数组成报文体,由报文头和报文体组成请求报文;所述属性数据包括API的调用功能ID、报文流水号和报文长度;然后通过TCP连接发送到网络服务进程;
若客户端API和网络服务进程之间的TCP连接中断,客户端API检测当前API调用是否超时,如果超时则结束API调用,返回网络连接故障错误码;未超时则重连网络服务进程,直到连接成功后重发请求报文;若客户端API发送请求报文成功则等待响应,如果网络服务进程超时未响应,则结束API调用,返回超时错误码;如果接收到网络服务进程响应报文,则客户端API解析响应报文,将API调用结果返回给客户端。
作为本发明方法的一种优选方案,所述网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断时,首先判定是由于网络服务进程崩溃引起的,还是由于业务服务进程崩溃引起的;
如果是由于网络服务进程崩溃引起的,则恢复网络服务进程后,客户端API重新建立连接并重新发送请求指令;如果是由于业务服务进程崩溃引起的,则恢复指定服务进程和数据后,网络服务进程从指令缓存器中获取未处理的请求报文,重新转发给业务服务进程处理。
作为本发明方法的一种优选方案,客户端的API为一个动态库,提供一系列访问实时数据库的接口,所述接口将将用户调用接口的参数组包成请求报文,然后通过TCP将请求报文发送到网络服务进程。
作为本发明方法的一种优选方案,网络服务进程接收请求报文之后,根据请求报文识别调用功能,然后转发请求报文到相应的业务服务进程。
作为本发明方法的一种优选方案,所述转发请求报文到相应的业务服务进程包括查询测点的请求报文转发到基础服务进程,读写快照的请求报文转发到快照服务进程,读写历史的请求报文则转发到历史服务进程。
作为本发明方法的一种优选方案,业务服务进程根据请求报文的参数进行相应的功能处理之后,将处理结果组包成响应报文再返回给通讯服务进程,由通讯服务进程将该响应报文返回给客户端API,从而完成一个完整调用。
第二方面,提供一种实时数据库API无中断调用***,包括:
请求报文发送模块,用于客户端通过API发起请求报文,并等待响应;
请求报文转发模块,用于网络服务进程接收请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
重连重发模块,用于网络服务进程在发送请求报文或等待响应报文时与业务服务进程通讯中断时,等待业务服务进程的服务恢复并与网络服务进程重新建立连接后,重发请求报文;
请求报文处理模块,用于业务服务进程处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃,则恢复指定服务进程和数据,等待网络服务进程重发请求报文;
响应报文回传模块,用于网络服务进程收到业务服务进程的响应报文时,删除相应的缓存指令,并将响应报文回传给客户端;
API调用恢复模块,用于客户端超时未收到响应报文时,在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文,实现不中断API调用。
第三方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的实时数据库API无中断调用方法。
第四方面,提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的实时数据库API无中断调用方法。
相较于现有技术,本发明第一方面至少具有如下的有益效果:
该实时数据库API无中断调用方法不仅在网络连接中断的情况下可以自动重连实时数据库,并继续执行API调用,而且还可以在实时数据库的服务进程执行API调用时崩溃的情况下,也可以快速恢复并继续执行API调用,从而可以在各种复杂情况下最大化确保一个API调用执行成功,避免对应用层的数据访问和后续数据处理业务造成影响。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明客户端通过API发起请求时服务进程的运行关系图;
图2为本发明实时数据库API无中断调用方法流程图;
图3为本发明客户端调用API的流程图;
图4为本发明服务进程处理请求报文的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下结合具体实施方式与附图对本发明进一步详细说明。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1,本发明实时数据库API无中断调用方法,其实时数据库由服务端和客户端构成,服务端的服务进程由看门狗服务进程S1、通讯服务进程S2、基础服务进程S3、快照服务进程S4和历史服务进程S5构成,客户端执行客户端API S6。进程S1至S5为实时数据库服务端服务进程,它们之间通过进程间通讯协议IPC实现跨进程通讯和协调运作;通讯服务进程S2和客户端API S6之间通过TCP协议进行数据通讯,实现客户端API远程调用。
请参阅图2,本发明实时数据库API无中断调用方法,具体包括以下步骤:
步骤S11:实时数据库客户端通过API发起请求报文,并等待响应,如果连接断开,则可尝试重连后重发请求;
步骤S12:网络服务进程收到请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
步骤S13:网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断,则等待业务服务进程服务恢复并与网络服务进程重新建立连接后,重发请求报文;
步骤S14:如果业务服务进程运行正常时,处理请求报文,并给网络服务进程回传响应报文。如果业务服务进程运行异常或崩溃,则看门狗服务恢复指定服务进程和数据,等待网络服务进程重发请求报文;
步骤S15:网络服务进程如果收到业务服务进程的响应报文,则删除相应的缓存指令,并将响应报文回传给客户端;
步骤S16:如果客户端在超时未收到响应报文,则API调用失败,否则API到网络服务进程、网络服务进程到业务服务进程之间自动进行请求报文重发,实现不中断API调用。
在一种实施方式中,步骤S11所述实时数据库客户端通过API发起请求报文的具体处理流程如下:
实时数据库客户端将API的调用功能ID、报文流水号、报文长度等数据组成报文头,将请求参数组成报文体,由报文头和报文体组成请求报文,通过TCP连接发送到通讯服务进程S2。如果客户端API S6和通讯服务进程S2之间的TCP连接中断,客户端API S6检测当前API调用是否超时,如果超时则结束API调用,返回网络连接故障错误码;未超时则重连网络服务进程,直到连接成功后重发请求报文。
客户端API S6发送请求报文成功后等待响应,按步骤S16所述,如果通讯服务进程S2超时未响应,则结束API调用,返回超时错误码;如果接收到通讯服务进程S2响应报文,则客户端API S6解析响应报文,将API调用结果返回给客户端。
在一种实施方式中,步骤S12所述网络服务进程收到请求报文,以连接ID和流水号为主键缓存指令。为避免网络服务进程S2在转发请求报文后,业务服务进程在处理请求报文过程中崩溃造成请求报文丢失,所以在转发请求报文之前,先将请求报文以连接ID和流水号为主键缓存到指令缓存器S24中。在网络服务进程S2接收到响应报文后,按步骤S15所述将相对的请求报文从指令缓存器S24中删除,并将响应报文回传给客户端API S6。
在一种实施方式中,步骤S13所述网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断的情况,可能是网络服务进程S2崩溃,也可能是业务服务进程崩溃。如果是前者,则客户端API S6的TCP连接会中断,看门狗服务进程S1拉起网络服务进程S2后,客户端API S6根据步骤S11流程重连接并重新发送请求指令;如果是后者,则按步骤S14所述方式进行处理,看门狗服务进程S1拉起业务服务进程,然后网络服务进程S2从指令缓存器S24中获取未处理的请求报文,重新转发给业务服务进程处理。
在一种实施方式中,步骤S16所述如果客户端在超时未收到响应报文,则API调用失败。本发明的方法主要对API调用异常的处理流程进行叙述,API调用如果在客户端超时还未收到响应报文,则表示本次API调用失败,可能是网络异常。而在网络稳定的情况下,实现客户端API S6到网络服务进程S2和网络服务进程S2到业务服务进程之间的请求报文在处理过程中服务进程崩溃时,自动进行请求报文重发,实现不中断的API调用。
如图3所示,图3示出了客户端API S6和网络服务进程S2之间的API无中断调用处理流程,它通过网络断开自动重连和请求报文重发的方式实现API调用不中断。为避免由于网络故障使客户端API S6进入不断重连的死循环中,客户端API S6设置一个API调用超时时间,如果达到超时时间,API还是无法完成API调用,则强制中断API调用。
如图4所示,图4示出了请求报文在实时数据库服务端各个服务进程之间的处理流程,客户端API S6为一个动态库,它提供一系列访问实时数据库的接口。这些接口将用户调用接口的参数组包成请求报文,然后通过TCP将请求报文发送到通讯服务进程S2。客户端API S6的请求报文发送到网络服务进程S2后,网络服务进程S2对请求报文头进行解析,将当前连接ID和从报文头中解析出的流水号构成主键,在指令缓存器S24中缓存该请求报文,其目的是在业务服务进程崩溃恢复后可以重发请求报文。客户端API S6再根据从请求报文头中解析出的功能ID来决定该请求报文向哪个业务服务进程转发:如果是测点功能相关的请求报文,转发给基础服务进程S3;如果是读写快照相关的请求报文,转发给快照服务进程S4;而如果是读写历史相关的请求报文,则转发给历史服务进程S5。业务服务进程处理完成请求报文,并返回响应报文到网络服务进程S2,网络服务进程S2再次对响应报文头进行解析,以当前连接ID和从报文头中解析出的流水号构成主键,从指令缓存器S24中删除缓存的指令,并将响应报文回传给客户端API S6。在此处理过程中,如果网络服务进程S2崩溃,则客户端API S6的TCP连接会中断,看门狗服务进程S1拉起网络服务进程S2后,客户端API S6根据步骤S11重连接并重新发送请求指令;而如果是业务服务进程崩溃,则看门狗服务进程S1拉起业务服务进程,然后网络服务进程S2从指令缓存器S24中获取未处理的请求报文,重新转发给业务服务进程处理。
本发明的另一实施例还提供一种实时数据库API无中断调用***,包括:
请求报文发送模块,用于客户端通过API发起请求报文,并等待响应;
请求报文转发模块,用于网络服务进程接收请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
重连重发模块,用于网络服务进程在发送请求报文或等待响应报文时与业务服务进程通讯中断时,等待业务服务进程的服务恢复并与网络服务进程重新建立连接后,重发请求报文;
请求报文处理模块,用于业务服务进程处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃,则恢复指定服务进程和数据,等待网络服务进程重发请求报文;
响应报文回传模块,用于网络服务进程收到业务服务进程的响应报文时,删除相应的缓存指令,并将响应报文回传给客户端;
API调用恢复模块,用于客户端超时未收到响应报文时,在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文,实现不中断API调用。
本发明的另一实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的实时数据库API无中断调用方法。
本发明的另一实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的实时数据库API无中断调用方法。
示例性的,所述的计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在计算机可读存储介质中,并由所述处理器执行,以完成本申请实时数据库API无中断调用方法的步骤。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在服务器中的执行过程。
所述服务器可以是笔记本、台式电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述服务器还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如,所述服务器还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述服务器的内部存储单元,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种实时数据库API无中断调用方法,其特征在于,包括以下步骤:
客户端通过API发起请求报文,并等待响应;
网络服务进程接收请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断,则等待业务服务进程的服务恢复并与网络服务进程重新建立连接后,重发请求报文;
如果业务服务进程运行正常,则处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃,则恢复指定服务进程和数据,等待网络服务进程重发请求报文;
网络服务进程如果收到业务服务进程的响应报文,则删除相应的缓存指令,并将响应报文回传给客户端;
如果客户端超时未收到响应报文,则API调用失败,在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文,实现不中断API调用。
2.根据权利要求1所述的实时数据库API无中断调用方法,其特征在于,所述客户端通过API发起请求报文包括以下步骤:实时数据库客户端将属性数据组成报文头,将请求参数组成报文体,由报文头和报文体组成请求报文;所述属性数据包括API的调用功能ID、报文流水号和报文长度;然后通过TCP连接发送到网络服务进程;
若客户端API和网络服务进程之间的TCP连接中断,客户端API检测当前API调用是否超时,如果超时则结束API调用,返回网络连接故障错误码;未超时则重连网络服务进程,直到连接成功后重发请求报文;若客户端API发送请求报文成功则等待响应,如果网络服务进程超时未响应,则结束API调用,返回超时错误码;如果接收到网络服务进程响应报文,则客户端API解析响应报文,将API调用结果返回给客户端。
3.根据权利要求1所述的实时数据库API无中断调用方法,其特征在于:所述网络服务进程如果在发送请求报文或等待响应报文时与业务服务进程通讯中断时,首先判定是由于网络服务进程崩溃引起的,还是由于业务服务进程崩溃引起的;
如果是由于网络服务进程崩溃引起的,则恢复网络服务进程后,客户端API重新建立连接并重新发送请求指令;如果是由于业务服务进程崩溃引起的,则恢复指定服务进程和数据后,网络服务进程从指令缓存器中获取未处理的请求报文,重新转发给业务服务进程处理。
4.根据权利要求1所述的实时数据库API无中断调用方法,其特征在于,客户端的API为一个动态库,提供一系列访问实时数据库的接口,所述接口将将用户调用接口的参数组包成请求报文,然后通过TCP将请求报文发送到网络服务进程。
5.根据权利要求1所述的实时数据库API无中断调用方法,其特征在于:网络服务进程接收请求报文之后,根据请求报文识别调用功能,然后转发请求报文到相应的业务服务进程。
6.根据权利要求5所述的实时数据库API无中断调用方法,其特征在于:所述转发请求报文到相应的业务服务进程包括查询测点的请求报文转发到基础服务进程,读写快照的请求报文转发到快照服务进程,读写历史的请求报文则转发到历史服务进程。
7.根据权利要求6所述的实时数据库API无中断调用方法,其特征在于:业务服务进程根据请求报文的参数进行相应的功能处理之后,将处理结果组包成响应报文再返回给通讯服务进程,由通讯服务进程将该响应报文返回给客户端API,从而完成一个完整调用。
8.一种实时数据库API无中断调用***,其特征在于,包括:
请求报文发送模块,用于客户端通过API发起请求报文,并等待响应;
请求报文转发模块,用于网络服务进程接收请求报文,以连接ID和流水号为主键缓存指令,然后转发请求报文到业务服务进程;
重连重发模块,用于网络服务进程在发送请求报文或等待响应报文时与业务服务进程通讯中断时,等待业务服务进程的服务恢复并与网络服务进程重新建立连接后,重发请求报文;
请求报文处理模块,用于业务服务进程处理请求报文并给网络服务进程回传响应报文;如果业务服务进程运行异常或崩溃,则恢复指定服务进程和数据,等待网络服务进程重发请求报文;
响应报文回传模块,用于网络服务进程收到业务服务进程的响应报文时,删除相应的缓存指令,并将响应报文回传给客户端;
API调用恢复模块,用于客户端超时未收到响应报文时,在API到网络服务进程以及网络服务进程到业务服务进程之间自动重发请求报文,实现不中断API调用。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的实时数据库API无中断调用方法。
10.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的实时数据库API无中断调用方法。
CN202111264943.1A 2021-10-28 2021-10-28 实时数据库api无中断调用方法、***、存储介质及服务器 Pending CN113986501A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111264943.1A CN113986501A (zh) 2021-10-28 2021-10-28 实时数据库api无中断调用方法、***、存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111264943.1A CN113986501A (zh) 2021-10-28 2021-10-28 实时数据库api无中断调用方法、***、存储介质及服务器

Publications (1)

Publication Number Publication Date
CN113986501A true CN113986501A (zh) 2022-01-28

Family

ID=79743651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111264943.1A Pending CN113986501A (zh) 2021-10-28 2021-10-28 实时数据库api无中断调用方法、***、存储介质及服务器

Country Status (1)

Country Link
CN (1) CN113986501A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666250A (zh) * 2022-03-01 2022-06-24 中国电子科技集团公司第五十二研究所 一种保持安防软件***中数据和状态一致性的方法
CN115103005A (zh) * 2022-06-14 2022-09-23 北京京东乾石科技有限公司 请求响应方法、装置、电子设备及存储介质
CN115396493A (zh) * 2022-08-17 2022-11-25 融慧金科金融服务外包(北京)有限公司 分布式动态控制api超时响应的管理***及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666250A (zh) * 2022-03-01 2022-06-24 中国电子科技集团公司第五十二研究所 一种保持安防软件***中数据和状态一致性的方法
CN115103005A (zh) * 2022-06-14 2022-09-23 北京京东乾石科技有限公司 请求响应方法、装置、电子设备及存储介质
CN115396493A (zh) * 2022-08-17 2022-11-25 融慧金科金融服务外包(北京)有限公司 分布式动态控制api超时响应的管理***及方法

Similar Documents

Publication Publication Date Title
CN113986501A (zh) 实时数据库api无中断调用方法、***、存储介质及服务器
CN109451032B (zh) 一种消息传递***
US20080162703A1 (en) Dynamic client/server session recovery in a heterogenous computer network
US8732694B2 (en) Method and system for performing services in server and client of client/server architecture
CN109547524B (zh) 基于物联网的用户行为存储方法、装置、设备及存储介质
US11889255B2 (en) Communication method between earphones and charging box, charging box, earphones and readable storage medium
KR20100135855A (ko) 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법
CN113765976A (zh) 一种通信方法和***
WO2024007995A1 (zh) 网络故障恢复方法、装置、设备及存储介质
CN106657187A (zh) 报文处理的方法及装置
CN101207617A (zh) 网络储存***的数据传输方法
WO2024103943A1 (zh) 一种业务处理方法、装置、存储介质及设备
CN112055088B (zh) 一种基于光闸的文件可靠传输***及其方法
CN117336346A (zh) 一种ippbx与pms对接状态转换方法、终端设备及介质
CN113992740B (zh) 一种基于自主可控的中间件及数据传输方法
CN111447262A (zh) 请求发送方法及客户端、存储介质
CN111162952A (zh) 一种设备容错方法及装置
CN115640169A (zh) 保障主集群停止提供服务的方法、***、设备和存储介质
CN113259404B (zh) 基于tcp/ip协议的工业通信中间件及其使用方法
CN111049938B (zh) 消息通知方法、装置、电子设备及可读存储介质
US8549345B1 (en) Methods and apparatus for recovering from a failed network interface card
CN113722126A (zh) 一种请求处理方法和装置
CN114158067B (zh) 专网中数据传输的方法和装置
CN112118273B (zh) 一种数据交互方法、***及第一客户端
CN111541736A (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