CN109542964B - 一种数据调用方法及数据调用系统 - Google Patents
一种数据调用方法及数据调用系统 Download PDFInfo
- Publication number
- CN109542964B CN109542964B CN201811315389.3A CN201811315389A CN109542964B CN 109542964 B CN109542964 B CN 109542964B CN 201811315389 A CN201811315389 A CN 201811315389A CN 109542964 B CN109542964 B CN 109542964B
- Authority
- CN
- China
- Prior art keywords
- interface
- service
- calling
- metadata information
- information
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种用于业务调用方和用于业务被调用方的数据调用方法、数据调用系统及计算机可读存储介质。其中,用于业务调用方的数据调用方法包括:生成业务调用请求;判断业务调用请求的调用接口是否为预设数据一致性接口;当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行后续存储、发送等处理,各个阶段都有事务保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种用于业务调用方和用于业务被调用方的数据调用方法、数据调用系统及计算机可读存储介质。
背景技术
在互联网时代,大流量、高并发的需求日益明显,但因每个应用的部署方式、架构设计等因素的影响,决定了每个系统能够支撑的并发数是不同的。在保证高并发的同时也要兼顾数据一致性,然而,采用CAP定理和常用的横向扩容/分区的方式来保证系统可用性,使得大部分情况会对数据一致性进行一定程度的影响。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个方面在于提出了一种数据调用方法,用于业务调用方。
本发明的另一个方面在于提出了一种数据调用方法,用于业务被调用方。
本发明的再一个方面在于提出了一种数据调用系统,用于业务调用方。
本发明的又一个方面在于提出了一种数据调用系统,用于业务被调用方。
有鉴于此,根据本发明的一个方面,提出了一种数据调用方法,用于业务调用方,调用方法包括:生成业务调用请求;判断业务调用请求的调用接口是否为预设数据一致性接口;当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作。
本发明提供的数据调用方法,业务调用方发起业务调用请求后,检测业务调用请求中的调用接口是否为预设数据一致性接口,当调用接口为预设数据一致性接口时通过消息中间件将业务调用请求和该调用接口的接口元数据信息发送给业务被调用方。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行后续存储、发送等处理,各个阶段都有事务保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
根据本发明的上述数据调用方法,还可以具有以下技术特征:
在上述技术方案中,优选地,还包括:接收消息中间件发送的确认信息;将业务调用请求和接口元数据信息标记为发送成功。
在该技术方案中,消息发送且消息中间件成功接收后会执行确认信息发送成功回调,进一步地,将业务调用请求和接口元数据信息置为发送成功状态,保证确认信息已正确地送达至消息中间件。
在上述任一技术方案中,优选地,还包括:当未接收到确认信息时,重新发送业务调用请求和接口元数据信息。
在该技术方案中,当未接收到确认信息时,确定业务调用请求和接口元数据信息为发送成功,未发送成功的信息将会定时重发,保证消息最终可达。
在上述任一技术方案中,优选地,还包括:当调用接口为预设数据一致性接口时,存储接口元数据信息。
在该技术方案中,当调用接口为预设数据一致性接口时,记录业务调用方调用接口的接口元数据信息到数据库,接口元数据信息保存到数据库的操作和业务操作在同一事务中,保证了业务调用方发起调用过程的数据一致性。
在上述任一技术方案中,优选地,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,具体包括:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
在该技术方案中,当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,区分对应分发的业务调用请求和接口元数据信息,保证每个业务被调用方只收到属于自己的业务调用请求和接口元数据信息,避免发送混乱。
在上述任一技术方案中,优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该技术方案中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
根据本发明的另一个方面,提出了一种数据调用方法,用于业务被调用方,调用方法包括:接收业务调用请求和接口元数据信息;查找与接口元数据信息对应的调用接口,通过调用接口执行业务调用请求的业务操作。
本发明提供的数据调用方法,业务被调用方接收到业务调用请求和接口元数据信息后,解析接口元数据信息,通过元数据反射查找调用对应接口,进一步地,通过调用接口执行业务调用请求的业务操作,且调用接口为预设数据一致性接口。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行接收处理,保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
根据本发明的上述数据调用方法,还可以具有以下技术特征:
在上述技术方案中,优选地,在查找与接口元数据信息对应的调用接口之前,还包括:将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;当接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找调用接口。
在该技术方案中,将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对,如果不相同,确定接口元数据信息未被重复接收和处理过,则查找调用接口,如果相同,则不再接收和处理,保证业务被调用方重复收到同样的消息时的数据一致性。
在上述任一技术方案中,优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该技术方案中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
根据本发明的再一个方面,提出了一种数据调用系统,用于业务调用方,调用系统包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以:生成业务调用请求;判断业务调用请求的调用接口是否为预设数据一致性接口;当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作。
本发明提供的数据调用系统,业务调用方发起业务调用请求后,检测业务调用请求中的调用接口是否为预设数据一致性接口,当调用接口为预设数据一致性接口时通过消息中间件将业务调用请求和该调用接口的接口元数据信息发送给业务被调用方。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行后续存储、发送等处理,各个阶段都有事务保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
根据本发明的上述数据调用系统,还可以具有以下技术特征:
在上述技术方案中,优选地,处理器,还用于执行计算机程序以:接收消息中间件发送的确认信息;将业务调用请求和接口元数据信息标记为发送成功。
在该技术方案中,消息发送且消息中间件成功接收后会执行确认信息发送成功回调,进一步地,将业务调用请求和接口元数据信息置为发送成功状态,保证确认信息已正确地送达至消息中间件。
在上述任一技术方案中,优选地,处理器,还用于执行计算机程序以:当未接收到确认信息时,重新发送业务调用请求和接口元数据信息。
在该技术方案中,当未接收到确认信息时,确定业务调用请求和接口元数据信息为发送成功,未发送成功的信息将会定时重发,保证消息最终可达。
在上述任一技术方案中,优选地,处理器,还用于执行计算机程序以:当调用接口为预设数据一致性接口时,存储接口元数据信息。
在该技术方案中,当调用接口为预设数据一致性接口时,记录业务调用方调用接口的接口元数据信息到数据库,接口元数据信息保存到数据库的操作和业务操作在同一事务中,保证了业务调用方发起调用过程的数据一致性。
在上述任一技术方案中,优选地,处理器,具体用于执行计算机程序以:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
在该技术方案中,当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,区分对应分发的业务调用请求和接口元数据信息,保证每个业务被调用方只收到属于自己的业务调用请求和接口元数据信息,避免发送混乱。
在上述任一技术方案中,优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该技术方案中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
根据本发明的又一个方面,提出了一种数据调用系统,用于业务被调用方,调用系统包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以:接收业务调用请求和接口元数据信息;查找与接口元数据信息对应的调用接口,通过调用接口执行业务调用请求的业务操作。
本发明提供的数据调用系统,业务被调用方接收到业务调用请求和接口元数据信息后,解析接口元数据信息,通过元数据反射查找调用对应接口,进一步地,通过调用接口执行业务调用请求的业务操作,且调用接口为预设数据一致性接口。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行接收处理,保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
根据本发明的上述数据调用系统,还可以具有以下技术特征:
在上述技术方案中,优选地,处理器,还用于执行计算机程序以:
将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;当接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找调用接口。
在该技术方案中,将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对,如果不相同,确定接口元数据信息未被重复接收和处理过,则查找调用接口,如果相同,则不再接收和处理,保证业务被调用方重复收到同样的消息时的数据一致性。
在上述任一技术方案中,优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该技术方案中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
根据本发明的又一个方面,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案的数据调用方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一技术方案所述的数据调用方法的步骤,因此该计算机可读存储介质包括上述任一技术方案所述的数据调用方法的全部有益效果。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的一个实施例的用于业务调用方的数据调用方法的流程示意图;
图2示出了本发明的另一个实施例的用于业务调用方的数据调用方法的流程示意图;
图3示出了本发明的再一个实施例的用于业务调用方的数据调用方法的流程示意图;
图4示出了本发明的一个实施例的用于业务被调用方的数据调用方法的流程示意图;
图5示出了本发明的另一个实施例的用于业务被调用方的数据调用方法的流程示意图;
图6示出了本发明的一个具体实施例的最终数据一致性解决系统的构架图;
图7示出了本发明的一个实施例的用于业务调用方的数据调用系统的示意框图;
图8示出了本发明的一个实施例的用于业务被调用方的数据调用系统的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
本发明第一方面的实施例,提出一种数据调用方法,用于业务调用方,
图1示出了本发明的一个实施例的用于业务调用方的数据调用方法的流程示意图。其中,该方法包括:
步骤102,生成业务调用请求;
步骤104,判断业务调用请求的调用接口是否为预设数据一致性接口;
步骤106,当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作。
本发明提供的数据调用方法,业务调用方发起业务调用请求后,检测业务调用请求中的调用接口是否为预设数据一致性接口,当调用接口为预设数据一致性接口时通过消息中间件将业务调用请求和该调用接口的接口元数据信息发送给业务被调用方。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行后续存储、发送等处理,各个阶段都有事务保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
优选地,步骤106中,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,具体包括:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
在该实施例中,当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,区分对应分发的业务调用请求和接口元数据信息,保证每个业务被调用方只收到属于自己的业务调用请求和接口元数据信息,避免发送混乱。
图2示出了本发明的另一个实施例的用于业务调用方的数据调用方法的流程示意图。其中,该方法包括:
步骤202,生成业务调用请求;
步骤204,判断业务调用请求的调用接口是否为预设数据一致性接口;
步骤206,当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作;
步骤208,接收消息中间件发送的确认信息;将业务调用请求和接口元数据信息标记为发送成功。
在该实施例中,消息发送且消息中间件成功接收后会执行确认信息发送成功回调,进一步地,将业务调用请求和接口元数据信息置为发送成功状态,保证确认信息已正确地送达至消息中间件。
优选地,步骤206中,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,具体包括:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
图3示出了本发明的再一个实施例的用于业务调用方的数据调用方法的流程示意图。其中,该方法包括:
步骤302,生成业务调用请求;
步骤304,判断业务调用请求的调用接口是否为预设数据一致性接口;
步骤306,当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作;
步骤308,接收消息中间件发送的确认信息,将业务调用请求和接口元数据信息标记为发送成功;当未接收到确认信息时,重新发送业务调用请求和接口元数据信息。
在该实施例中,当未接收到确认信息时,确定业务调用请求和接口元数据信息为发送成功,未发送成功的信息将会定时重发,保证消息最终可达。
优选地,步骤306中,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,具体包括:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
在该实施例中,当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,区分对应分发的业务调用请求和接口元数据信息,保证每个业务被调用方只收到属于自己的业务调用请求和接口元数据信息,避免发送混乱。
优选地,还包括:当调用接口为预设数据一致性接口时,存储接口元数据信息。
在该实施例中,当调用接口为预设数据一致性接口时,记录业务调用方调用接口的接口元数据信息到数据库,接口元数据信息保存到数据库的操作和业务操作在同一事务中,保证了业务调用方发起调用过程的数据一致性。
优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该实施例中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
本发明第二方面的实施例,提出一种数据调用方法,用于业务被调用方,图4示出了本发明的一个实施例的用于业务被调用方的数据调用方法的流程示意图。其中,该方法包括:
步骤402,接收业务调用请求和接口元数据信息;
步骤404,查找与接口元数据信息对应的调用接口,通过调用接口执行业务调用请求的业务操作。
本发明提供的数据调用方法,业务被调用方接收到业务调用请求和接口元数据信息后,解析接口元数据信息,通过元数据反射查找调用对应接口,进一步地,通过调用接口执行业务调用请求的业务操作,且调用接口为预设数据一致性接口。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行接收处理,保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
图5示出了本发明的另一个实施例的用于业务被调用方的数据调用方法的流程示意图。其中,该方法包括:
步骤502,接收业务调用请求和接口元数据信息;
步骤504,将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;
步骤506,当接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找与接口元数据信息对应的调用接口,通过调用接口执行业务调用请求的业务操作。
在该实施例中,将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对,如果不相同,确定接口元数据信息未被重复接收和处理过,则查找调用接口,如果相同,则不再接收和处理,保证业务被调用方重复收到同样的消息时的数据一致性。
优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该实施例中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
本发明实施例提出了一种最终数据一致性解决系统,通过调用带有特定注解的数据一致性接口后系统会自动做异步存储、发送和接收处理,各个阶段都有事务保证数据一致性,在保证数据最终一致性的同时极大的提高系统的并发能力/可用性。该系统的构架如图6所示,该系统包括以下概念:
(1)配置中心:指推送用户配置消息中间件所在地址到业务系统的配置系统;
(2)业务系统:指需要接入异步一致性框架的系统;
(3)消息中间件:负责异步调用的数据传递;
(4)调用者:发起远程调用的业务系统;
(5)被调用者:调用者发起远程调用后被触发做业务操作的业务系统;
(6)消息发送记录表:保存调用者发起异步调用接口的服务元数据信息;
(7)消息接收记录表:保存被调用者的被调用成功接口的服务元数据信息;
(8)接口的服务元数据信息:指接口的签名(如接口名称,各参数类型及参数值等);
(9)消息错误表:保存超过重试次数的发送消息异常或接收处理消息异常的表;
(10)对账控制台:显示发送消息异常或接收处理消息异常的界面,用户可以对异常的消息进行重试发送/接收处理操作或者忽略异常消息(即人工处理错误消息);
(11)本地事务:基于本地数据库的提交或回滚机制来实现的本地事务;
(12)异步调用组件:调用链中的一环,如果检测到被调用接口是数据一致性接口(标注了数据一致性注解),则会出发异步调用流程。
该系统的原理及主要过程包括:调用者发起远程调用后,将会由异步调用组件负责拦截,检测若是数据一致性接口,则会记录调用者调用接口的接口元信息到数据库,调用接口元数据保存到数据库的操作和业务操作在同一事务中,保证了调用者发起调用过程的数据一致性。
消息发送组件会定时扫描数据库发送待发送的消息到消息中间件,队列名称为被调用者的唯一标识,队列名称为消息中间件发送或接收消息的通道名称,其作用是说明在多个被调用者的情况下,会按照队列名称进行区分对应分发消息,保证每个接收者只收到属于自己的业务请求。消息发送且消息中间件成功接收后会执行确认消息发送成功回调,系统将消息置为发送成功状态,未发送成功的消息将会定时重发,保证消息至少发送成功过一次。
消息中间件会及时将消息推送给被调用者。被调用者接收到消息后,解析接口的元数据,通过元数据反射查找调用对应接口,异步调用的返回值要求为空,此处只做被调用者的对应接口实现调用,可不做业务数据返回。其中,调用分为三个步骤:(1)幂等性组件拦截;(2)执行业务操作;(3)确认消息接收,消息中间件删除消息。
其中,幂等性组件会判断此消息是否被重复消费(接收和处理)过,每一条消息都有一个唯一标识,根据消息的唯一标识来判断是否被重复消费过。如果是则不再重复消费,即根据消息唯一标识对重复消息进行过滤,保证重复消息不被重复消费,保证被调用者重复收到同样的消息时的数据一致性。
本发明第三方面的实施例,提出一种数据调用系统,用于业务调用方,图7示出了本发明的一个实施例的用于业务调用方的数据调用系统70的示意框图。其中,该系统70包括:
存储器702,用于存储计算机程序;
处理器704,用于执行计算机程序以:
生成业务调用请求;判断业务调用请求的调用接口是否为预设数据一致性接口;当调用接口为预设数据一致性接口时,通过消息中间件向业务被调用方发送业务调用请求和调用接口的接口元数据信息,以使业务被调用方通过调用接口执行业务操作。
本发明提供的数据调用系统70,业务调用方发起业务调用请求后,检测业务调用请求中的调用接口是否为预设数据一致性接口,当调用接口为预设数据一致性接口时通过消息中间件将业务调用请求和该调用接口的接口元数据信息发送给业务被调用方。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行后续存储、发送等处理,各个阶段都有事务保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
优选地,处理器704,还用于执行计算机程序以:接收消息中间件发送的确认信息;将业务调用请求和接口元数据信息标记为发送成功。
在该实施例中,消息发送且消息中间件成功接收后会执行确认信息发送成功回调,进一步地,将业务调用请求和接口元数据信息置为发送成功状态,保证确认信息已正确地送达至消息中间件。
优选地,处理器704,还用于执行计算机程序以:当未接收到确认信息时,重新发送业务调用请求和接口元数据信息。
在该实施例中,当未接收到确认信息时,确定业务调用请求和接口元数据信息为发送成功,未发送成功的信息将会定时重发,保证消息最终可达。
优选地,处理器704,还用于执行计算机程序以:当调用接口为预设数据一致性接口时,存储接口元数据信息。
在该实施例中,当调用接口为预设数据一致性接口时,记录业务调用方调用接口的接口元数据信息到数据库,接口元数据信息保存到数据库的操作和业务操作在同一事务中,保证了业务调用方发起调用过程的数据一致性。
优选地,处理器704,具体用于执行计算机程序以:当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,向多个业务被调用方发送业务调用请求和接口元数据信息。
在该实施例中,当具有多个业务被调用方时,利用消息中间件按照发送队列顺序,区分对应分发的业务调用请求和接口元数据信息,保证每个业务被调用方只收到属于自己的业务调用请求和接口元数据信息,避免发送混乱。
优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该实施例中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
本发明第四方面的实施例,提出一种数据调用系统,用于业务被调用方,图8示出了本发明的一个实施例的用于业务被调用方的数据调用系统80的示意框图。其中,该系统80包括:
存储器802,用于存储计算机程序;
处理器804,用于执行计算机程序以:
接收业务调用请求和接口元数据信息;查找与接口元数据信息对应的调用接口,通过调用接口执行业务调用请求的业务操作。
本发明提供的数据调用系统80,业务被调用方接收到业务调用请求和接口元数据信息后,解析接口元数据信息,通过元数据反射查找调用对应接口,进一步地,通过调用接口执行业务调用请求的业务操作,且调用接口为预设数据一致性接口。采用本发明的技术方案,通过调用带有特定注解的数据一致性接口后自动进行接收处理,保证数据一致性,且在保证数据最终一致性的同时极大的提高系统的并发能力和可用性。
优选地,处理器804,还用于执行计算机程序以:
将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;当接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找调用接口。
在该实施例中,将接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对,如果不相同,确定接口元数据信息未被重复接收和处理过,则查找调用接口,如果相同,则不再接收和处理,保证业务被调用方重复收到同样的消息时的数据一致性。
优选地,接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
在该实施例中,接口元数据信息指接口的签名,具体包括但不限于接口名称、接口参数类型、接口参数值等信息。
本发明第五方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的数据调用方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一实施例所述的数据调用方法的步骤,因此该计算机可读存储介质包括上述任一实施例所述的数据调用方法的全部有益效果。
在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种数据调用方法,其特征在于,用于业务调用方,所述调用方法包括:
生成业务调用请求;
判断所述业务调用请求的调用接口是否为预设数据一致性接口;
当所述调用接口为所述预设数据一致性接口时,通过消息中间件向业务被调用方发送所述业务调用请求和所述调用接口的接口元数据信息,以使所述业务被调用方通过所述调用接口执行业务操作;
所述通过消息中间件向业务被调用方发送所述业务调用请求和所述调用接口的接口元数据信息,具体包括:
当具有多个所述业务被调用方时,利用所述消息中间件按照发送队列顺序,向多个所述业务被调用方发送所述业务调用请求和所述接口元数据信息。
2.根据权利要求1所述的数据调用方法,其特征在于,还包括:
接收所述消息中间件发送的确认信息;
将所述业务调用请求和所述接口元数据信息标记为发送成功。
3.根据权利要求2所述的数据调用方法,其特征在于,还包括:
当未接收到所述确认信息时,重新发送所述业务调用请求和所述接口元数据信息。
4.根据权利要求1至3中任一项所述的数据调用方法,其特征在于,还包括:
当所述调用接口为所述预设数据一致性接口时,存储所述接口元数据信息。
5.根据权利要求1至3中任一项所述的数据调用方法,其特征在于,所述接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
6.一种数据调用方法,其特征在于,用于业务被调用方,所述调用方法包括:
接收业务调用请求和接口元数据信息;
确认消息接收,消息中间件删除消息;
查找与所述接口元数据信息对应的调用接口,通过所述调用接口执行所述业务调用请求的业务操作;
所述查找与所述接口元数据信息对应的调用接口的步骤,具体包括:
解析所述接口元数据信息;
通过元数据反射查找对应的所述调用接口。
7.根据权利要求6所述的数据调用方法,其特征在于,在所述查找与所述接口元数据信息对应的调用接口之前,还包括:
将所述接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;
当所述接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找所述调用接口。
8.根据权利要求6或7所述的数据调用方法,其特征在于,所述接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
9.一种数据调用系统,其特征在于,用于业务调用方,所述调用系统包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以:
生成业务调用请求;
判断所述业务调用请求的调用接口是否为预设数据一致性接口;
当所述调用接口为所述预设数据一致性接口时,通过消息中间件向业务被调用方发送所述业务调用请求和所述调用接口的接口元数据信息,以使所述业务被调用方通过所述调用接口执行业务操作;
当具有多个所述业务被调用方时,利用所述消息中间件按照发送队列顺序,向多个所述业务被调用方发送所述业务调用请求和所述接口元数据信息。
10.根据权利要求9所述的数据调用系统,其特征在于,所述处理器,还用于执行所述计算机程序以:
接收所述消息中间件发送的确认信息;
将所述业务调用请求和所述接口元数据信息标记为发送成功。
11.根据权利要求10所述的数据调用系统,其特征在于,所述处理器,还用于执行所述计算机程序以:
当未接收到所述确认信息时,重新发送所述业务调用请求和所述接口元数据信息。
12.根据权利要求9至11中任一项所述的数据调用系统,其特征在于,所述处理器,还用于执行所述计算机程序以:
当所述调用接口为所述预设数据一致性接口时,存储所述接口元数据信息。
13.根据权利要求9至11中任一项所述的数据调用系统,其特征在于,所述接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
14.一种数据调用系统,其特征在于,用于业务被调用方,所述调用系统包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以:
接收业务调用请求和接口元数据信息;
确认消息接收,消息中间件删除消息;
查找与所述接口元数据信息对应的调用接口,通过所述调用接口执行所述业务调用请求的业务操作;
所述查找与所述接口元数据信息对应的调用接口的步骤,具体包括:
解析所述接口元数据信息;
通过元数据反射查找对应的所述调用接口。
15.根据权利要求14所述的数据调用系统,其特征在于,所述处理器,还用于执行所述计算机程序以:
将所述接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识进行比对;
当所述接口元数据信息的全局唯一信息标识与预先接收的其它消息的全局唯一信息标识不相同时,查找所述调用接口。
16.根据权利要求14或15所述的数据调用系统,其特征在于,所述接口元数据信息包括以下一种或其组合:接口名称、接口参数类型、接口参数值。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据调用方法的步骤,或实现如权利要求6至8中任一项所述的数据调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315389.3A CN109542964B (zh) | 2018-11-06 | 2018-11-06 | 一种数据调用方法及数据调用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315389.3A CN109542964B (zh) | 2018-11-06 | 2018-11-06 | 一种数据调用方法及数据调用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542964A CN109542964A (zh) | 2019-03-29 |
CN109542964B true CN109542964B (zh) | 2021-02-19 |
Family
ID=65844421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811315389.3A Active CN109542964B (zh) | 2018-11-06 | 2018-11-06 | 一种数据调用方法及数据调用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542964B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471746B (zh) * | 2019-08-22 | 2022-04-19 | 中国工商银行股份有限公司 | 一种分布式事务回调方法、装置及系统 |
CN110995803B (zh) * | 2019-11-22 | 2022-04-19 | 用友网络科技股份有限公司 | 上、下游业务处理方法及系统、计算机可读存储介质 |
CN111131414B (zh) * | 2019-12-11 | 2022-05-24 | 拉扎斯网络科技(上海)有限公司 | 后端平台、服务调用方法、第一服务模块及服务器 |
CN111338813B (zh) * | 2020-02-10 | 2023-05-12 | 北京字节跳动网络技术有限公司 | 一种动态生成中间件的方法、装置、介质和电子设备 |
CN112084046B (zh) * | 2020-09-12 | 2021-12-21 | 深圳市艾可思信息技术有限公司 | 一种分布式计算中泛化接口调用方法及装置 |
CN115766865B (zh) * | 2023-01-09 | 2023-05-05 | 利尔达科技集团股份有限公司 | 一种面向5g智能终端异构平台应用服务方法及系统 |
CN116166681A (zh) * | 2023-04-25 | 2023-05-26 | 北京阿帕科蓝科技有限公司 | 系统间数据调用方法、系统以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267932A (zh) * | 2014-08-12 | 2015-01-07 | 广州华多网络科技有限公司 | 数据库操作方法、装置及服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333073B (zh) * | 2011-06-21 | 2014-10-22 | 北京新媒传信科技有限公司 | Ip多媒体子系统业务管理方法和系统 |
CN104579889B (zh) * | 2013-10-16 | 2018-03-09 | 华为技术有限公司 | 一种用于调用网络功能的方法及装置 |
CN104951323B (zh) * | 2014-03-27 | 2018-06-19 | 中国移动通信集团公司 | Java中间件及其驱动调用、加载方法及转换装置 |
CN106777026B (zh) * | 2016-12-08 | 2019-12-20 | 用友网络科技股份有限公司 | 支持微服务架构事务最终一致性的方法、装置及系统 |
CN108650093A (zh) * | 2018-03-30 | 2018-10-12 | 深圳市富途网络科技有限公司 | 一种基于幂等性的接口实现方法 |
-
2018
- 2018-11-06 CN CN201811315389.3A patent/CN109542964B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267932A (zh) * | 2014-08-12 | 2015-01-07 | 广州华多网络科技有限公司 | 数据库操作方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109542964A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542964B (zh) | 一种数据调用方法及数据调用系统 | |
US8209437B2 (en) | Personal information management data synchronization | |
CN102968321B (zh) | 应用程序安装装置和应用程序安装方法 | |
CN107818023B (zh) | 基于线程的消息处理方法、智能设备及存储介质 | |
CN111225012A (zh) | 事务处理方法、装置和设备 | |
CN112929401A (zh) | 一种注册方法及装置 | |
EP3786802A1 (en) | Method and device for failover in hbase system | |
CN111124431A (zh) | 服务回调方法、业务处理方法、装置、设备及存储介质 | |
CN110688201B (zh) | 一种日志管理方法及相关设备 | |
US20120054775A1 (en) | Message processing | |
CN108228842B (zh) | Docker镜像库文件存储方法、终端、设备以及存储介质 | |
CN112822091A (zh) | 一种消息处理方法和装置 | |
WO2020000783A1 (zh) | 通讯录云处理方法、装置、计算机设备及可读存储介质 | |
CN110730197A (zh) | 一种服务发现方法和系统 | |
US7778660B2 (en) | Mobile communications terminal, information transmitting system and information receiving method | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN113535439B (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN107102901B (zh) | 一种任务处理方法和装置 | |
CN112231290A (zh) | 一种本地日志的处理方法、装置、设备及存储介质 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN115577031B (zh) | 一种数据库事务处理方法、装置、电子设备及存储介质 | |
CN109213766B (zh) | 一种数据零延迟的处理方法及终端 | |
CN112702270B (zh) | 基于事件分发机制的节点调用方法、系统及存储介质 | |
CN116455917B (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 |