CN111142910A - 一种面向多界面的资源调配处理方法及系统 - Google Patents
一种面向多界面的资源调配处理方法及系统 Download PDFInfo
- Publication number
- CN111142910A CN111142910A CN201911378528.1A CN201911378528A CN111142910A CN 111142910 A CN111142910 A CN 111142910A CN 201911378528 A CN201911378528 A CN 201911378528A CN 111142910 A CN111142910 A CN 111142910A
- Authority
- CN
- China
- Prior art keywords
- service
- client
- module
- interface
- local server
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种面向多界面的资源调配处理方法及系统,所述面向多界面的资源调配处理方法包括发送业务请求、处理业务请求、结束业务请求;所述面向多界面的资源调配处理系统包括本地服务端和内置于第三方应用的客户端SDK接口;所述本地服务端包括业务组件、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端IPC模块和服务监听模块;所述内置于第三方应用的客户端SDK接口,包括客户端适配器模块、客户端IPC模块、客户端监听模块和外部接口模块。本发明可节约第三方应用端的开发成本,提高了用户体验,避免因无法统一管理带来的冲突问题,并显著提高业务功能升级时的开发效率。
Description
技术领域
本发明涉及应用程序开发技术领域,具体涉及一种面向多界面的资源调配处理方法及系统。
背景技术
随着互联网技术的发展,出现了一些专门为第三方应用提供某种业务支撑的第三方公共业务服务,如支付宝支付、微信支付。随着经济和社会对信息化的依赖程度日益提高,政府、企业、个人对信息安全的关注程度日益增强,社会对信息安全的需求与日俱增,为第三方应用提供的第三方公共业务服务随之也扩展到了信息安全领域,例如第三方可信密码服务,该类服务通过将SDK接入第三方应用的客户端,实现为第三方应用提供密码运算、身份认证等服务,大大降低了第三方应用开发者的开发成本。
基于第三方应用的特性,第三方公共业务服务一般要针对Windows、Linux等多种平台上,提供JavaScript、C等多个版本的SDK供第三方应用调用。因此在SDK需要升级更新以对软件做出改进或修复时,面临较多维护上的问题:
1.公共业务升级更新,集成了该SDK的各应用也需要被动进行升级;
2.公共业务中的公共资源(比如PIN码管理、芯片初始化、状态重置)没有统一管理可能会出现冲突;
3.不同平台(如windows、Linux)的桌面客户端、WEB端应用升级同一个公共业务,需要面向不同平台不同语言开发多个版本的SDK,不便于开发维护。
为了解决上述所存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的在于针对现有技术中存在的不足,从而提供一种面向多界面的资源调配处理方法及系统,将公共业务组件以本地系统服务的形式统一管理,统一提供业务能力;各应用依然需要集成SDK,但SDK中不涉及具体业务,只限于接口调用,针对不同平台不同语言提供不同的SDK即可。
为达到上述目的,本发明首先提供了一种面向多界面的资源调配处理方法,该方法是这样实现的:
一种面向多界面的资源调配处理方法,所述方法基于由第三方应用端、第三方应用端内置的客户端SDK接口和本地服务端组成的系统,所述方法包括发送业务请求、处理业务请求和结束业务请求;
发送业务请求阶段:
所述第三方应用端相继通过所述客户端SDK接口的外部接口模块、客户端适配器模块、客户端监听模块和客户端IPC模块将业务请求传输至所述本地服务端;
处理业务请求阶段:
所述本地服务端相继通过所述本地服务端的服务端IPC模块、服务监听模块、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端各业务组件完成业务处理并将处理结果返回所述第三方应用端;
结束业务请求阶段:
所述第三方应用端向所述本地服务端及所述客户端SDK接口发送结束业务请求,所述本地服务端及所述客户端SDK接口在接收到结束业务请求后相继释放资源。
进一步地,所述发送业务请求的方法还包括:
S1、所述客户端SDK接口与所述本地服务端建立管道通信,所述第三方应用端通过所述客户端SDK接口的外部接口模块发起调用业务组件的业务请求;
S2、所述客户端SDK接口的客户端适配器模块选取所述第三方应用端与所述本地服务端之间适配的协议并进行转换;
S3、所述客户端SDK接口通过客户端监听模块监听到所述业务请求后,通过所述客户端IPC模块选择相应的进程间通信方法,将所述业务请求发送至所述本地服务端。
进一步地,步骤S1中所述SDK与所述本地服务端建立管道通信的方法包括:
初始化所述第三方应用端,并将第三方应用端的状态进行广播;所述客户端SDK接口监听到所述第三方应用端初始化信息,读取本地配置信息,与所述本地服务端建立socket,完成密钥协商;
所述客户端SDK接口向所述本地服务端请求管道分配;所述本地服务端返回管道信息,并为所述管道分配APPID;所述客户端SDK接口与所述本地服务端通过所述APPID对应的管道建立管道通信。
进一步地,所述本地服务端处理业务请求的方法还包括:
S5、所述本地服务端的服务端IPC模块,通过所述客户端SDK接口对所述第三方应用端发送的业务请求进行解析转换;
S6、所述本地服务端的服务监听模块监听到所述业务请求;
S7、所述本地服务端的业务组件加载区调用所述业务请求对应的业务方法;
S8、所述本地服务端的服务端适配器模块将业务请求进行适配转换,以使业务接口识别业务请求的具体数据和参数;
S9、所述本地服务端的服务端异步IO模块通过线程池及任务队列对业务请求的处理时序进行编排;
S10、所述本地服务端的业务组件根据处理时序处理所述业务请求,并将业务处理结果返回所述服务端异步IO模块,等待新的指令;
S11、所述业务处理结果依次通过所述本地服务端的服务监听模块和服务端IPC模块,以及所述客户端SDK接口的客户端IPC模块、客户端监听模块、客户端适配器模块和外部接口模块返回至所述第三方应用端。
进一步地,所述第三方应用端与所述本地服务端进行所述业务请求发送、业务请求处理的过程支持同步处理和异步处理两种方式;
所述客户端SDK接口接收到所述业务请求后,判断是同步处理还是异步处理;
如果是同步处理,则所述客户端SDK接口在监听到所述业务请求后,先组装消息,创建事件并缓存,再发送所述业务请求至所述本地服务端,并等待接收线程事件通知直到所述本地服务端返回所述业务请求处理结果;
如果是异步处理,则所述客户端SDK接口在监听到所述业务请求后,先创建一个缓存回调函数,再发送所述业务请求至所述本地服务端,所述本地服务端的业务请求处理结果以回调方式返回至所述第三方应用端。
进一步地,所述客户端SDK接口、所述业务组件和所述本地服务端相互之间支持一对一、一对多、多对多和多对一的关系。
进一步地,所述本地服务端可通过静默升级或重写文件的方式对业务方法的实现方式和业务方法的接口编排进行更新维护。
进一步地,所述客户端SDK接口的外部接口模块支持在window平台、Linux平台的WEB应用端、桌面应用端运行。
本发明还提供了一种面向多界面的资源调配处理系统,所述系统包括本地服务端和内置于第三方应用的客户端SDK接口;
所述本地服务端包括业务组件、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端IPC模块和服务监听模块,用于集成公共业务组件到本地服务端的系统服务,并对第三方应用通过客户端SDK接口发起的业务请求进行响应、编排和处理;
所述内置于第三方应用的客户端SDK接口,包括客户端适配器模块、客户端IPC模块、客户端监听模块和外部接口模块,用于给第三方应用提供业务接口,与本地服务端定义相应的协议规范,通过进程间通信进行协议传输,实现相应业务功能的调用。
进一步地,所述业务组件是不同业务方法的集合;所述业务组件加载区用于对业务组件进行分表,以数组形式静态存储,并通过ID的逻辑运算获取函数地址调用所述业务组件;所述服务端适配器模块用于将第三方应用端传输的业务请求进行适配转换,确定本地服务端中与所述业务请求对应的业务组件;所述服务端异步IO模块用于通过线程池及任务队列对第三方应用端发起的业务请求进行异步处理;所述服务端IPC模块用于封装进程间通信方法;所述服务监听模块用于监听第三方应用端发起的业务请求和业务组件返回的业务处理结果;
所述客户端适配器模块用于将第三方应用端与本地服务端之间协议进行转换适配;所述客户端IPC模块用于封装进程间通信方法;所述客户端监听模块用于监听所述本地服务端返回的业务处理结果并将业务处理结果返回至第三方应用;所述外部接口模块用于供第三方应用调用相应的业务组件。
本发明的有益效果如下:
1)本发明的公共业务组件模块以服务的形式统一管理,统一提供业务能力;第三方应用依然需要集成客户端SDK接口,但客户端SDK接口中不涉及具体业务,只限于接口调用,因此当业务方法需要进行调整时,只需要对本地服务端的代码进行升级维护,不需要第三方应用被动地进行升级,因此节约了第三方用户端的开发成本,同时改善了用户体验;
2)由于本发明的公共业务组件升级是全局性的,因此避免了在SDK业务方法内置于第三方应用时,因统一管理的需要,修改一个业务方法连带着必须修改其他方法,否则带来的冲突问题;
3)由于本发明通过接口适配的方式允许不同平台(如windows、Linux)的桌面客户端、WEB端应用调用同一个公共业务方法,因此不需要面向不同平台不同语言开发多个版本的SDK业务实现方法,因此显著提高了开发效率。
附图说明
图1为一种面向多界面的资源调配处理方法结构框图。
图2为本发明第三方应用提供SDK接口调用服务端业务请求的流程图。
图3为本发明服务端响应SDK接口业务请求并返回到第三方应用的流程图。
图4为第三方应用提供SDK与服务建立连接的过程。
图5为一种面向多界面的资源调配处理系统结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
SDK(Software Development Kit,软件开发工具包):一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。
进程间通信(IPC,Interprocess communication):是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。IPC的主要作用是为了进行数据传输、共享数据、通知事件、资源共享以及进行进程控制。
如图1所示,本发明提供了一种面向多界面的资源调配处理方法及系统,将公共业务组件以本地系统服务的形式统一管理,统一提供业务能力;各应用依然需要集成客户端SDK接口,但客户端SDK接口中不涉及具体业务,只限于接口调用,针对不同平台不同语言提供不同的客户端SDK接口即可。
为了实现本技术方案,本发明首先提供了一种面向多界面的资源调配处理方法,该方法是这样实现的:
一种面向多界面的资源调配处理方法,所述方法基于由第三方应用端、第三方应用端内置的客户端SDK接口和本地服务端组成的系统,所述方法包括发送业务请求、处理业务请求和结束业务请求;
发送业务请求阶段:所述第三方应用端相继通过所述客户端SDK接口的外部接口模块、客户端适配器模块、客户端监听模块和客户端IPC模块将业务请求传输至所述本地服务端;
处理业务请求阶段:所述本地服务端相继通过所述本地服务端的服务端IPC模块、服务监听模块、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端各业务组件完成业务处理并将处理结果返回所述第三方应用端;
结束业务请求阶段:所述第三方应用端向所述本地服务端及所述客户端SDK接口发送结束业务请求,所述本地服务端及所述客户端SDK接口在接收到结束业务请求后相继释放资源。
图2结合图3示出了发送业务请求和处理业务请求的具体原理。
如图2所示,某第三方应用内置有可以调用某种业务方法的客户端SDK接口,客户端SDK接口与本地服务端建立了连接关系,所述第三方应用将业务请求发送至对应客户端SDK接口,对应客户端SDK接口与对应本地服务端建立连接并将客户端业务请求发送至对应本地服务端;第三方应用端通过客户端SDK接口的外部接口模块发起调用具体业务的请求;
客户端SDK接口的客户端适配器模块根据调用SDK的具体业务确定所述第三方应用与本地服务端之间适配的协议并进行转换;
客户端SDK接口的客户端监听模块监听到第三方应用端的具体业务请求,通过客户端SDK接口的客户端IPC模块选择合适的进程间通信方法,并以选定的进程间通信方法要求的格式将业务请求发送至本地服务端。
可以理解的是,客户端IPC模块封装了常规的进程间通信方法,包括但不限于:管道(pipe)、有名管道(FIFO)、消息队列(MessageQueue)、共享存储、信号量(Semaphore)、信号(Signal)、套接字(Socket);优选地,采用全双工通讯技术,包括但不限于websocket或封装了websocket的统一通信接口(如SocketIO)。
如图4所示,所述客户端SDK接口与所述本地服务端建立管道通信的方法包括:
初始化第三方应用端,并将第三方应用端的状态进行广播;所述客户端SDK接口监听到所述第三方应用端初始化信息后,读取本地配置信息,与所述本地服务端建立socket,完成密钥协商;所述客户端SDK接口向所述本地服务端请求管道分配;所述本地服务端返回管道信息,并为所述管道分配APPID;所述客户端SDK接口与所述本地服务端通过所述APPID的管道建立管道通信。
如图3所示,所述本地服务端处理业务请求的方法是这样实现的:
服务端IPC模块对客户端业务请求进行解析转换;
服务监听模块监听到来自第三方应用端向客户端SDK接口发起的业务请求;
服务端适配器模块将不同业务组件、不同应用的客户端SDK接口发送的业务请求与各请求对应的业务方法建立对应关系,通过适配转换调用业务请求对应的业务方法;
服务端异步IO模块通过线程池及任务队列对业务请求的处理时序进行编排,支撑多应用业务异步处理;
服务端各业务组件根据服务端异步IO模块的编排进行业务处理,并将处理结果返回服务端异步IO模块,等待新的指令;
各业务处理结果依次经过服务监听模块、服务端IPC模块、客户端IPC模块、客户端监听模块、客户端适配器模块和外部接口模块,返回至第三方应用端。
当业务组件较多以及客户端SDK接口较多情况下,为了高效调用业务接口,采用表驱动+逻辑运算方式去完成业务接口调用。假设存在X个业务组件,定义其为_ID_SDK_MODULE1、_ID_SDK_MODULE2……_ID_SDK_MODULEX,分别为其创建ID为0x1000、0x2000……0xX000,将业务组件对应的业务接口按照所属功能模块的不同定义为_ID_MODULE1_FUN0、_ID_MODULE1_FUN1、_ID_MODULE2_FUN0、_ID_MODULE2_FUN1、……_ID_MODULEX_FUNX,相应地,业务接口ID定义为0x1001、0x1002、0x2001、0x2002……0xX00X,通过这种表驱动+逻辑运算方式可以快速对业务接口和业务组件进行匹配。
相应地,各业务组件可根据需要灵活进行组合,多个业务可集成到1个系统服务中,也可分拆集成到多个系统服务中;可根据业务接口不同设置多个业务组件实现同一业务功能,也可设置一个业务组件完成不同业务接口的同一业务功能;
相应地,客户端SDK接口可根据需要灵活进行组合,可按业务组件划分多个客户端SDK接口分别供第三方应用端集成调用,也可由1个客户端SDK接口集成多个业务组件供第三方应用端调用本地服务端。
相应地,本地服务端提供的业务方法可根据需要灵活进行调整,可通过搭载应用程序升级、后台静默升级或重写文件等方式对业务方法的实现方式、业务方法的接口编排进行更新维护,而不需要客户端SDK接口调整。
在本实施例中,本地服务端搭载在“芯片管家”应用上,随应用程序的安装植入操作系统服务中,当“芯片管家”启动并升级时本地服务端可同步升级,也可在“芯片管家”未启动情况下后台静默联网升级。
在本实施例中,所述第三方应用端与所述本地服务端进行所述业务请求发送、业务请求处理的过程支持同步处理和异步处理两种方式。具体地,由所述客户端SDK接口接收到所述业务请求后判断是同步处理还是异步处理。如果是同步处理,则所述客户端SDK接口在监听到所述业务请求后,先组装消息,创建事件并缓存,再发送所述业务请求至所述本地服务端,并等待接收线程事件通知直到所述本地服务端返回所述业务请求处理结果;如果是异步处理,则所述客户端SDK接口在监听到所述业务请求后,先创建一个缓存回调函数,再发送所述业务请求至所述本地服务端,所述本地服务端业务请求处理结果以回调方式返回至所述第三方应用端。
通过以上实施例可以看出,本发明提供的一种面向多界面的资源调配处理方法只需要对本地服务端的代码进行维护,不需要第三方应用被动地进行升级,因此节约了第三方用户端的开发成本,同时提高了用户体验;进而由于本发明的公共业务组件升级是全局性的,因此避免了SDK业务方法内置于第三方应用时,因统一管理的需要,修改一个业务方法连带着需要修改其他方法,否则带来的冲突问题。由于本发明通过接口适配的方式允许不同平台(如windows、Linux)的桌面客户端、WEB端应用调用同一个公共业务方法,因此不需要面向不同平台不同语言开发多个版本的SDK业务实现方法,因此显著提高了开发效率。
如图5所示,本发明的另一个实施例提供了一种面向多界面的资源调配处理系统,所述系统包括本地服务端和内置于第三方应用的客户端SDK接口;
在本实施例中,所述本地服务端的子服务系统包括业务组件、业务组件静态加载区、服务端适配器模块、服务端异步IO模块、服务端IPC模块和服务监听模块,用于集成公共业务组件到本地服务端,并对第三方应用通过对应客户端SDK接口发起的业务请求进行响应、编排、处理。
所述业务组件是具体不同业务实现方法的集合;
所述业务组件静态加载区用于对业务组件进行分表,以数组形式静态存储,并通过ID的逻辑运算获取函数地址来调用所述业务组件对应的业务方法;其中,表字段主要包括方法ID和方法函数指针;
所述服务端适配器模块主要负责将第三方应用端传输的业务请求进行适配转换,确定本地服务端中与所述业务请求对应的业务组件;
所述服务端异步IO模块主要通过线程池及任务队列支撑多个第三方应用端发起的业务请求的异步处理;
所述服务端IPC模块封装了常规的进程间通信方法;在本实施例中,当第三方应用为WEB应用时,相应的SDK为JAVASCRIPT格式的SDK接口,采用的进程间通信方法为socket.IO封装的全双工通信方式;
所述服务监听模块主要负责监听第三方应用端消息和业务组件返回的业务处理结果。
如图5所示,所述内置于第三方应用的客户端SDK接口,包括客户端适配器模块、客户端IPC模块、客户端监听模块和外部接口模块,用于给第三方应用提供业务接口,与本地服务端定义相应的协议规范,通过进程间通信进行协议传输,实现相应业务功能的调用。
所述客户端适配器模块负责将第三方应用端与本地服务端之间协议进行转换适配;
所述客户端IPC模块封装了常规的进程间通信方法;
所述客户端监听模块负责监听所述本地服务端返回的业务处理结果并将业务处理结果返回至第三方应用;
所述外部接口模块用于供第三方应用调用相应的业务组件,该外部接口模块具有多个版本,可支持多种平台上运行,包括:在window平台或Linux平台的WEB应用端、桌面应用端分别采用JavaScript语言开发的SDK版本、C语言开发的SDK版本。
通过以上实施例可以看出,本发明提供的一种面向多界面的资源调配处理系统只需要对服务端的代码进行维护,不需要第三方应用被动地进行升级,因此节约了第三方用户端的开发成本,同时提高了用户体验;进而由于本发明的公共业务组件升级是全局性的,因此避免了SDK业务方法内置于第三方应用时,因统一管理的需要,修改一个业务方法连带着需要修改其他方法,否则带来的冲突问题。由于本发明通过接口适配的方式允许不同平台(如windows、Linux)的桌面客户端、WEB端应用调用同一个公共业务方法,因此不需要面向不同平台不同语言开发多个版本的SDK业务实现方法,因此显著提高了开发效率。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员在不脱离本发明技术方案的精神下,对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1.一种面向多界面的资源调配处理方法,其特征在于:所述方法基于由第三方应用端、第三方应用端内置的客户端SDK接口和本地服务端组成的系统,所述方法包括发送业务请求、处理业务请求和结束业务请求;
发送业务请求阶段:
所述第三方应用端相继通过所述客户端SDK接口的外部接口模块、客户端适配器模块、客户端监听模块和客户端IPC模块将业务请求传输至所述本地服务端;
处理业务请求阶段:
所述本地服务端相继通过所述本地服务端的服务端IPC模块、服务监听模块、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端各业务组件完成业务处理并将处理结果返回所述第三方应用端;
结束业务请求阶段:
所述第三方应用端向所述本地服务端及所述客户端SDK接口发送结束业务请求,所述本地服务端及所述客户端SDK接口在接收到结束业务请求后相继释放资源。
2.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于:所述发送业务请求的方法还包括:
S1、所述客户端SDK接口与所述本地服务端建立管道通信,所述第三方应用端通过所述客户端SDK接口的外部接口模块发起调用业务组件的业务请求;
S2、所述客户端SDK接口的客户端适配器模块选取所述第三方应用端与所述本地服务端之间适配的协议并进行转换;
S3、所述客户端SDK接口通过客户端监听模块监听到所述业务请求后,通过所述客户端IPC模块选择相应的进程间通信方法,将所述业务请求发送至所述本地服务端。
3.根据权利要求2所述的一种面向多界面的资源调配处理方法,其特征在于,步骤S1中所述客户端SDK接口与所述本地服务端建立管道通信的方法包括:
初始化所述第三方应用端,并将第三方应用端的状态进行广播;所述客户端SDK接口监听到所述第三方应用端初始化信息,读取本地配置信息,与所述本地服务端建立socket,完成密钥协商;
所述客户端SDK接口向所述本地服务端请求管道分配;所述本地服务端返回管道信息,并为所述管道分配APPID;所述客户端SDK接口与所述本地服务端通过所述APPID对应的管道建立管道通信。
4.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于,所述本地服务端处理业务请求的方法还包括:
S5、所述本地服务端的服务端IPC模块,通过所述客户端SDK接口对所述第三方应用端发送的业务请求进行解析转换;
S6、所述本地服务端的服务监听模块监听到所述业务请求;
S7、所述本地服务端的业务组件加载区调用所述业务请求对应的业务方法;
S8、所述本地服务端的服务端适配器模块将业务请求进行适配转换,以使业务接口识别业务请求的具体数据和参数;
S9、所述本地服务端的服务端异步IO模块通过线程池及任务队列对业务请求的处理时序进行编排;
S10、所述本地服务端的业务组件根据处理时序处理所述业务请求,并将业务处理结果返回所述服务端异步IO模块,等待新的指令;
S11、所述业务处理结果依次通过所述本地服务端的服务监听模块和服务端IPC模块,以及所述客户端SDK接口的客户端IPC模块、客户端监听模块、客户端适配器模块和外部接口模块返回至所述第三方应用端。
5.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于,所述第三方应用端与所述本地服务端进行所述业务请求发送、业务请求处理的过程支持同步处理和异步处理两种方式;
所述客户端SDK接口接收到所述业务请求后,判断是同步处理还是异步处理;
如果是同步处理,则所述客户端SDK接口在监听到所述业务请求后,先组装消息,创建事件并缓存,再发送所述业务请求至所述本地服务端,并等待接收线程事件通知直到所述本地服务端返回所述业务请求处理结果;
如果是异步处理,则所述客户端SDK接口在监听到所述业务请求后,先创建一个缓存回调函数,再发送所述业务请求至所述本地服务端,所述本地服务端的业务请求处理结果以回调方式返回至所述第三方应用端。
6.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于,所述客户端SDK接口、所述业务组件和所述本地服务端相互之间支持一对一、一对多、多对多和多对一的关系。
7.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于,所述本地服务端可通过静默升级或重写文件的方式对业务方法的实现方式和业务方法的接口编排进行更新维护。
8.根据权利要求1所述的一种面向多界面的资源调配处理方法,其特征在于,所述客户端SDK接口的外部接口模块支持在windows平台、Linux平台的WEB应用端、桌面应用端运行。
9.一种面向多界面的资源调配处理系统,应用于权利要求1~8所述的一种面向多界面的资源调配处理方法,其特征在于,所述系统包括本地服务端和内置于第三方应用的客户端SDK接口;
所述本地服务端包括业务组件、业务组件加载区、服务端适配器模块、服务端异步IO模块、服务端IPC模块和服务监听模块,用于集成公共业务组件到本地服务端,并对第三方应用通过客户端SDK接口发起的业务请求进行响应、编排和处理;
所述内置于第三方应用的客户端SDK接口,包括客户端适配器模块、客户端IPC模块、客户端监听模块和外部接口模块,用于给第三方应用提供业务接口,与本地服务端定义相应的协议规范,通过进程间通信进行协议传输,实现相应业务功能的调用。
10.根据权利要求9所述的面向多界面的资源调配处理系统,其特征在于,
所述业务组件是不同业务方法的集合;
所述业务组件加载区用于对业务组件进行分表,以数组形式静态存储,并通过ID的逻辑运算获取函数地址调用所述业务组件;
所述服务端适配器模块用于将第三方应用端传输的业务请求进行适配转换,确定本地服务端中与所述业务请求对应的业务组件;
所述服务端异步IO模块用于通过线程池及任务队列对第三方应用端发起的业务请求进行异步处理;
所述服务端IPC模块用于封装进程间通信方法;
所述服务监听模块用于监听第三方应用端发起的业务请求和业务组件返回的业务处理结果;
所述客户端适配器模块用于将第三方应用端与本地服务端之间协议进行转换适配;
所述客户端IPC模块用于封装进程间通信方法;
所述客户端监听模块用于监听所述本地服务端返回的业务处理结果并将业务处理结果返回至第三方应用;
所述外部接口模块用于供第三方应用调用相应的业务组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378528.1A CN111142910B (zh) | 2019-12-27 | 2019-12-27 | 一种面向多界面的资源调配处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378528.1A CN111142910B (zh) | 2019-12-27 | 2019-12-27 | 一种面向多界面的资源调配处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142910A true CN111142910A (zh) | 2020-05-12 |
CN111142910B CN111142910B (zh) | 2022-04-08 |
Family
ID=70521052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911378528.1A Active CN111142910B (zh) | 2019-12-27 | 2019-12-27 | 一种面向多界面的资源调配处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142910B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129865A (zh) * | 2021-03-05 | 2021-07-16 | 联通(广东)产业互联网有限公司 | 通信语音转写AI connector中间元件的处理方法和装置 |
CN113626008A (zh) * | 2021-10-14 | 2021-11-09 | 江苏东大集成电路系统工程技术有限公司 | 基于混合开发应用的物理设备适配的系统、方法和设备 |
CN114827092A (zh) * | 2022-05-09 | 2022-07-29 | 北京迪为双兴通讯技术有限公司 | Ims终端的业务处理方法、电子设备及计算机可读存储介质 |
CN115082058A (zh) * | 2022-07-25 | 2022-09-20 | 上海富友支付服务股份有限公司 | 一种基于动态控制的虚拟账户交易管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883084A (zh) * | 2009-05-04 | 2010-11-10 | 李新宇 | 用于对网络服务通信进行适配的方法、适配器和适配器系统 |
US20160295277A1 (en) * | 2015-04-02 | 2016-10-06 | Yume, Inc. | Run-time sdk integration for connected video players |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106980534A (zh) * | 2016-01-19 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 基于sdk组件的业务执行方法及装置 |
CN107656762A (zh) * | 2017-10-13 | 2018-02-02 | 上海酷屏信息技术有限公司 | 一种在app中实现第三方功能的方法及系统 |
CN107689870A (zh) * | 2017-08-29 | 2018-02-13 | 杭州绿湾网络科技有限公司 | 客户端鉴权方法和系统 |
-
2019
- 2019-12-27 CN CN201911378528.1A patent/CN111142910B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883084A (zh) * | 2009-05-04 | 2010-11-10 | 李新宇 | 用于对网络服务通信进行适配的方法、适配器和适配器系统 |
US20160295277A1 (en) * | 2015-04-02 | 2016-10-06 | Yume, Inc. | Run-time sdk integration for connected video players |
CN106980534A (zh) * | 2016-01-19 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 基于sdk组件的业务执行方法及装置 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN107689870A (zh) * | 2017-08-29 | 2018-02-13 | 杭州绿湾网络科技有限公司 | 客户端鉴权方法和系统 |
CN107656762A (zh) * | 2017-10-13 | 2018-02-02 | 上海酷屏信息技术有限公司 | 一种在app中实现第三方功能的方法及系统 |
Non-Patent Citations (2)
Title |
---|
KUNYU YE 等: "The research of the SDK based on the virtual surgery simulation system", 《 2016 IEEE 20TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN (CSCWD)》 * |
朱峰: "基于Android的第三方支付清结算平台SDK的设计与实现", 《电子设计工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129865A (zh) * | 2021-03-05 | 2021-07-16 | 联通(广东)产业互联网有限公司 | 通信语音转写AI connector中间元件的处理方法和装置 |
CN113626008A (zh) * | 2021-10-14 | 2021-11-09 | 江苏东大集成电路系统工程技术有限公司 | 基于混合开发应用的物理设备适配的系统、方法和设备 |
CN114827092A (zh) * | 2022-05-09 | 2022-07-29 | 北京迪为双兴通讯技术有限公司 | Ims终端的业务处理方法、电子设备及计算机可读存储介质 |
CN115082058A (zh) * | 2022-07-25 | 2022-09-20 | 上海富友支付服务股份有限公司 | 一种基于动态控制的虚拟账户交易管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111142910B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142910B (zh) | 一种面向多界面的资源调配处理方法及系统 | |
EP3459229B1 (en) | System and method for messaging between operating system containers | |
US11004024B2 (en) | Service and resource orchestration system and method, and apparatus | |
AU2014386583B8 (en) | Inter-process communication method based on application layer of android and basic application communication system | |
CN111290865A (zh) | 一种服务调用方法、装置、电子设备和存储介质 | |
US8347318B2 (en) | Application component communication apparatus of SCA-based system and method thereof | |
CN108881111B (zh) | 一种实现多租户系统的方法及装置 | |
US7711783B1 (en) | Generic event notification service for resource-constrained devices | |
US20190245758A1 (en) | Slice instance management method and apparatus | |
US20080140857A1 (en) | Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework | |
CN103562882A (zh) | 用于提供消息传送应用程序接口的系统和方法 | |
US20120226737A1 (en) | Method and system for reducing service overhead in service oriented architectures | |
US9325768B2 (en) | System and method for clustered transactional interoperability of multiple messaging providers using a single connector mechanism | |
US11099915B2 (en) | Optimizing startup time for event-driven functions | |
US10728169B1 (en) | Instance upgrade migration | |
CN113032166B (zh) | 核间通信的方法、处理器、核间通信系统及计算机可读存储介质 | |
CN111258723B (zh) | 分布式系统的事务处理方法、装置、系统、介质及设备 | |
CN113821352A (zh) | 一种远程服务的调用方法和装置 | |
CN111831461A (zh) | 一种处理业务流程的方法和装置 | |
JP2007011650A (ja) | 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体 | |
CN114912103A (zh) | 一种访问控制方法及相关装置 | |
CN112596931A (zh) | 一种跨进程通信方法、装置、电子设备及存储介质 | |
WO2023168913A1 (zh) | Sdk与接入应用的兼容方法、装置、设备及介质 | |
WO2021057351A1 (zh) | 在glibc环境下控制安卓蓝牙的装置、方法及终端设备 | |
CN112202605A (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 |