CN112433758A - 平台功能的调用方法及系统、设备及存储介质 - Google Patents
平台功能的调用方法及系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112433758A CN112433758A CN202011380347.5A CN202011380347A CN112433758A CN 112433758 A CN112433758 A CN 112433758A CN 202011380347 A CN202011380347 A CN 202011380347A CN 112433758 A CN112433758 A CN 112433758A
- Authority
- CN
- China
- Prior art keywords
- platform
- interface
- layer
- server
- application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006870 function Effects 0.000 claims abstract description 167
- 238000012545 processing Methods 0.000 claims description 61
- 238000012546 transfer Methods 0.000 claims description 27
- 230000001419 dependent effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 abstract description 15
- 238000002054 transplantation Methods 0.000 abstract description 7
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 230000004044 response Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种平台功能的调用方法及系统、设备及存储介质,所述调用方法包括:上层应用层调用客户端的初始化接口,以连接服务端;上层应用层响应于连接至服务端,发送请求消息至服务端;服务端响应于接收到请求消息,在连接列表中查询得到需调用的应用功能接口并从平台相关层调用应用功能接口,以从外部平台调用与所述应用功能接口对应的平台功能接口。本发明通过优化软件的功能架构增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能开发的难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
Description
技术领域
本发明涉及软件架构技术领域,尤其涉及一种平台功能的调用方法及系统、设备及存储介质。
背景技术
物联网芯片通常提供多种产品系统,不同厂商的芯片产品的系统平台具有较大的差异。针对某个应用模块进行功能开发时,为了兼容现有模块的功能,需要根据不同的芯片产品去适配其各自不同的系统平台。通常的方法是针对新的芯片产品的平台重新设计或移植已有平台的实现方案。
重新设计方案费时费力,产品成型缓慢,缺乏竞争力。移植现有平台的实现方案,则由于产品平台之间存在较大的差异,会给功能移植带来各种各样的问题;每次引进一个新平台相当于一次全新的开发项目,费时费力。因此把功能从一个厂商的平台移植到另一个厂商的平台往往也要花费大量的人力和时间成本。
发明内容
本发明要解决的技术问题是为了克服现有技术中针对新的系统平台需要重新开发或难以移植现有软件功能的缺陷,提供一种平台功能的调用方法及系统、设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种平台功能的调用方法,所述调用方法包括:
上层应用层调用客户端的初始化接口,以连接服务端;
上层应用层响应于连接至服务端,发送请求消息至所述服务端;
所述服务端响应于接收到请求消息,在连接列表中查询得到所述请求消息中需调用的应用功能接口,并且从平台相关层调用所述应用功能接口,以从外部平台调用与所述应用功能接口对应的平台功能接口,所述平台相关层提供和外部平台匹配的所述应用功能接口。
较佳地,所述服务端从所述平台相关层调用所述应用功能接口的步骤之后,所述调用方法还包括:所述平台相关层从所述外部平台获取成果消息,所述服务端从所述平台相关层接收所述成果消息,并将所述成果消息通过所述客户端转发至上层应用层。
较佳地,所述平台相关层用于更新与不同的所述平台功能接口匹配的所述应用功能接口。
较佳地,所述应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
较佳地,所述调用方法还包括:
所述上层应用层调用所述客户端的所述初始化接口,以连接所述服务端的消息中转站;
所述上层应用层响应于连接至所述消息中转站,并发送所述请求消息至所述服务端的消息处理站;
所述消息处理站响应于接收到所述请求消息,在所述连接列表中查询得到所述请求消息中需调用的所述应用功能接口,并且从所述平台相关层调用所述应用功能接口。
较佳地,所述消息处理站还用于提供应用功能模块。
较佳地,包括客户端、服务端、平台相关层;
所述客户端用于接收上层应用层发送的初始化接口并连接服务端;
所述客户端还用于在连接至所述服务端后,将上层应用层发送的请求消息转发至所述服务端;
所述服务端用于在接收到请求消息后,在连接列表中查询得到所述请求消息需调用的应用功能接口,并且从平台相关层调用所述应用功能接口,所述应用功能接口用于从外部平台调用与所述应用功能接口对应的平台功能接口,所述平台相关层提供和外部平台匹配的所述应用功能接口。
本发明还提供了一种平台功能的调用系统,所述服务端还用于接收所述平台相关层发送的成果消息,并将所述成果消息通过所述客户端转发至上层应用层;所述成果消息由所述平台相关层从所述外部平台获取。
较佳地,所述平台相关层用于更新与不同的所述平台功能接口匹配的所述应用功能接口。
较佳地,所述应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
较佳地,所述服务端包括消息中转站和消息处理站;
所述消息中转站用于接收所述客户端转发的发自上层应用层的所述初始化接口,并使所述上层应用层和所述服务端建立连接;
所述消息中转站还用于将所述上层应用层发送至所述客户端的请求消息转发至所述消息处理站;
所述消息处理站用于接收所述请求消息,并在所述连接列表中查询出所述请求消息需调用的所述平台相关层的应用功能接口,并且从所述平台相关层调用所述应用功能接口。
较佳地,所述消息处理站还用于提供应用功能模块。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的平台功能的调用方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的平台功能的调用方法的步骤。
本发明的积极进步效果在于:通过优化软件的功能架构增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能开发的难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
附图说明
图1为本发明实施例1的平台功能的调用方法的流程图。
图2为本发明实施例2的平台功能的调用方法的流程图。
图3为本发明实施例3的平台功能的调用系统的模块示意图。
图4为本发明实施例3中模块间消息传递示意图。
图5为本发明实施例4的平台功能的调用系统的模块示意图。
图6为本发明实施例4的模块间消息传递示意图。
图7为本发明实施例4的平台功能的调用系统的结构示意图。
图8为本发明实施例5的电子设备的结构框图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
参见图1,本发明提供了一种平台功能的调用方法,用以使某一特定的应用功能能够在不同的平台上实现。调用方法的适用场景是一种三层架构,即上层应用层、中间层和平台层。其中,上层应用层基于实现特定功能的硬件单元,通常是通用模块产品或定制模块产品,这些模块实现具体的功能,从而和执行控制时序逻辑的单片机共同搭建并形成一套独立的终端系统。本实施例中的上层应用层即指上述模块的AT(Attention,通信)指令集或二次开发API(Application Programming Interface,应用程序接口)等;而平台层则指上述终端系统中的单片机的自带平台系统,通常由不同的供应商提供如高通、ASR(翱捷科技)、海思等,每个供应商旗下也包括不同的系统,如高通的MDM9607(处理芯片的一种)平台和ASR(翱捷科技)的ASR1601(处理芯片的一种)平台。
本实施例通过调用中间层框架实现上层应用层和外部平台之间的数据交互和功能衔接,中间层框架包括客户端、服务端和平台相关层。具体地,本实施例中的调用方法包括:
S1.上层应用层调用客户端的初始化接口,以连接服务端;
S2.上层应用层响应于连接至服务端,发送请求消息至服务端;
S3.服务端响应于接收到请求消息,在连接列表中查询得到请求消息中需调用的应用功能接口;
S4.服务端从平台相关层调用应用功能接口,以从外部平台调用与应用功能接口对应的平台功能接口。
客户端提供对于上层应用层的AT指令集响应、二次开发API响应,并提供与服务端交互、日志输出功能,释放外部接口。例如,上层应用层调用客户端的初始化接口init()进行初始化并连接服务端;调用request()接口用于发出具体请求消息;调用release()接口用于释放占用的资源以及断开连接等。
平台相关层和外部平台直接进行功能衔接,提供了和外部平台匹配的应用功能接口。对于每个具体的应用,如Wifi(无线网络)、以太网口、蓝牙、语音、通话、数据业务、网络应用层(各类通信或传输协议)、短信、GPS(Global Positioning System,全球定位系统)、模块状态管理等,按数据提供方和数据请求方在中间层框架内进行划分,每个相对独立的应用可以是单独的数据提供方也可以既是数据提供方也是数据请求方,从而便于根据不同的平台进行裁剪。采用数据提供方和数据请求方的划分方式,利于在模块这样冲突较多的应用之间进行处理,方便应用之间的单独管理和信息同步。
例如,语音应用(包括音乐播放和文本转语音等)和通话应用都作为AT指令集、二次开发API的数据提供方,语音应用提供音乐播放、暂停、停止、查询、文本转语音播放、文本转语音停止、文本转语音语速等状态设置与查询等,通话应用提供拨打电话、挂断电话等。语音应用又同时作为数据请求方,请求通话应用的拨打状态等。语音应用中音乐播放分为本地播放和远端播放(播放给打电话的对方),需要获取当前通话状态。当出现功能裁剪的需求时,只需要裁剪通话应用,而语音应用中的本地播放不受影响。
又如对于Wifi应用、数据业务应用和以太网口应用,都作为AT指令集、二次开发API的数据提供方,Wifi应用提供无线网络的配置、获取、连接与断开,数据业务应用提供多路数据业务,以太网口应用提供Lan模式(用以使其他设备上网)和Wan模式(通过其他设备上网);三者之间存在数据业务的冲突,如果有其中一个应用进行了数据业务则占用某一路APN(Access Point Name,接入点名称),其他应用将无法再使用这一路APN,三者于是互为数据请求方和数据提供方进行信息同步;这样对没有Wifi应用和以太网应用的芯片型号方便进行功能裁剪。
本实施例中,服务端从平台相关层调用应用功能接口的步骤之后,调用方法还包括:平台相关层从外部平台获取成果消息,服务端从平台相关层接收成果消息,并将成果消息通过客户端转发至上层应用层。
连接列表指客户端进行交互时传送的用于标识消息宿主身份的信息,以方便服务端进行连接、断开、数据管理、消息转发、消息回复、消息推送等操作,服务端维护连接列表,并根据其中的身份标识指向具体的应用功能模块或接口,又根据身份标识向客户端返回来源事件的处理结果。
本实施例中,平台相关层用于更新与不同的平台功能接口匹配的应用功能接口;平台相关层对接相应的外部平台,如在音频播放功能中平台相关层提取出create()任务创建接口、connect()发起连接接口、send()参数发送接口、recv()参数接收接口、wait()等待接口、disconnect()停止连接接口、destroy()任务注销接口等,作为统一进程或线程间的通信接口,用来处理linux操作系统和其他实时操作系统的进程或线程间通信。对于linux操作系统,对接方式可以采用Socket(套接字);对于实时操作系统,可以采用信号量、事件结合队列的方式模拟交互事件,即客户端通过通过信号量和事件实施触发,响应至服务端则通过队列消息体中的关键字判断交互事件类型,识别客户身份。
本实施例中,应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
本实施例通过优化软件的功能架构增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能的开发难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
实施例2
参见图2,本实施例在实施例1的基础上进一步提供一种平台功能的调用方法,即将服务端划分成消息中转站和消息处理站。消息中转站提供客户端和消息处理站的连接、注册请求,消息转发等。消息处理站提供具体的处理功能;客户端和消息处理站中个各个应用启动会向消息中转站发出连接请求,方便消息中转站清楚各应用的工作状态,用以进行消息转发和广播处理。具体地,调用方法包括:
S1’.上层应用层调用客户端的初始化接口,以连接服务端的消息中转站;
S2’.上层应用层响应于连接至消息中转站,并发送请求消息至服务端的消息处理站;
S3’消息处理站响应于接收到请求消息,在连接列表中查询得到请求消息中需调用的应用功能接口;
S4’.消息处理站从平台相关层调用应用功能接口。
消息处理站对接外部平台的某一具体功能并从中提取出不依赖外部平台的功能或逻辑并将这部分置于消息处理站实现。例如,对于音乐播放功能,需要根据不同格式类型的音频文件划分成多个播放功能,每个播放功能分为解码部分和播放部分;则播放部分由于不同平台处理方式不同,由平台相关层一方面调用外部平台的对应接口进行实现,一方面开放接口供消息处理站调用。对于软件解码以及音频播放状态管理,由于不依赖外部平台,则由消息处理站进行实现。
又以数据拨号功能为例,需要模组具备开启数据业务、关闭数据业务和查询数据业务状态三个功能点;对于开启数据业务功能点,上层应用层调用客户端的初始化接口连接服务端;连接成功后发送开启数据请求的请求消息,服务端收到请求消息后判断数据业务状态和注网状态,调用平台相关层的接口SIMCom_start_datacall()开启数据业务。而平台相关层的SIMCom_start_datacall()接口调用外部平台的相应接口,例如高通平台的dsi_init()和dsi_start_data_call()等接口。
这样,当更换了对接的外部平台时,同样实现开启数据业务功能点则只需要调整平台相关层的SIMCom_start_datacall()这一接口中对于外部平台的调用内容即可;至于客户端和服务端则不需要进行重构。
消息中转站接收客户端的请求是根据请求消息的ID(Identity document,身份标识)分别转发给对应的消息处理站,消息处理站处理后,调用再封装的平台相关层接口。平台相关层对接口进行面向应用的重新封装,对于不同的应用功能,客户端响应并向服务端发送的请求消息如:数据业务应用包括开启数据业务、关闭数据业务、获取数据业务状态等ID;Wifi应用包括开启热点、关闭热点、开启热点数据业务、关闭热点数据业务、设置热点名和密码、获取热点名和密码、设置热点属性、获取热点属性等ID;GPS应用包括开启定位、关闭定位、设置定位更新时间等ID;语音应用包括播放音乐、停止音乐、获取播放状态、设置音频参数、获取音频参数等ID。
以上述Wifi应用为例,请求消息ID为“设置热点名和密码”,则消息中转站根据该请求消息的类型转发给消息处理站中的Wifi部分,Wifi部分继而对热点名和密码的参数合法性进行判断,再调用平台相关层接口写入热点名、密码,具体动作包括打开配置文件、写入热点名及密码、保存配置文件等。又以播放音乐的请求消息ID为例,消息中转站根据消息类型转发给消息处理站中的语音部分,消息中转站的语音部分读取音乐文件、提取音乐文件属性、对音乐解码、音频数据混流,并调用平台相关层的接口实现播放音频数据,接口中具体又包括了打开音频设备、设置音频设备属性以及写入音频数据流等调用外部平台实现的具体功能。
本实施例通过优化软件的功能架构增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能的开发难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
实施例3
参见图3~图4所示,本发明提供了一种平台功能的调用系统,用以使某一特定的应用功能能够在不同的平台上实现。调用系统的适用场景是一种三层架构,即上层应用层、中间层和平台层。其中,上层应用层基于实现特定功能的硬件单元,通常是通用模块产品或定制模块产品,这些模块实现具体的功能,从而和执行控制时序逻辑的单片机共同搭建并形成一套独立的终端系统。本实施例中的上层应用层即指上述模块的AT指令集或二次开发API等;而平台层则指上述终端系统中的单片机的自带平台系统,通常由不同的供应商提供如高通、ASR、海思等,每个供应商旗下也包括不同的系统,如高通的MDM9607平台和ASR(翱捷科技)的ASR1601平台。
本实施例通过调用中间层框架实现上层应用层和外部平台之间的数据交互和功能衔接,中间层框架包括客户端、服务端和平台相关层。
具体地,本实施例中的调用系统包括:客户端、服务端、平台相关层;
客户端用于接收上层应用层发送的初始化接口并连接服务端;
客户端还用于在连接至服务端后,将上层应用层发送的请求消息转发至服务端;
服务端用于在接收到请求消息后,在连接列表中查询得到请求消息需调用的应用功能接口,并且从平台相关层调用应用功能接口,应用功能接口用于从外部平台调用与应用功能接口对应的平台功能接口,平台相关层提供和外部平台匹配的所述应用功能接口。
客户端提供对于上层应用层的AT指令集响应、二次开发API响应,并提供与服务端交互、日志输出功能,释放外部接口。例如,上层应用层调用客户端的初始化接口init()进行初始化并连接服务端;调用request()接口用于发出具体请求消息;调用release()接口用于释放占用的资源以及断开连接等。
平台相关层和外部平台直接进行功能衔接,提供了和外部平台匹配的应用功能接口。对于每个具体的应用,如Wifi、以太网口、蓝牙、语音、通话、数据业务、网络应用层(各类通信或传输协议)、短信、GPS、模块状态管理等,按数据提供方和数据请求方在中间层框架内进行划分,每个相对独立的应用可以是单独的数据提供方也可以既是数据提供方也是数据请求方,从而便于根据不同的平台进行裁剪。采用数据提供方和数据请求方的划分方式,利于在模块这样冲突较多的应用之间进行处理,方便应用之间的单独管理和信息同步。
例如,语音应用(包括音乐播放和文本转语音等)和通话应用都作为AT指令集、二次开发API的数据提供方,语音应用提供音乐播放、暂停、停止、查询、文本转语音播放、文本转语音停止、文本转语音语速等状态设置与查询等,通话应用提供拨打电话、挂断电话等。语音应用又同时作为数据请求方,请求通话应用的拨打状态等。语音应用中音乐播放分为本地播放和远端播放(播放给打电话的对方),需要获取当前通话状态。当出现功能裁剪的需求时,只需要裁剪通话应用,而语音应用中的本地播放不受影响。
又如对于Wifi应用、数据业务应用和以太网口应用,都作为AT指令集、二次开发API的数据提供方,Wifi应用提供无线网络的配置、获取、连接与断开,数据业务应用提供多路数据业务,以太网口应用提供Lan模式(用以使其他设备上网)和Wan模式(通过其他设备上网);三者之间存在数据业务的冲突,如果有其中一个应用进行了数据业务则占用某一路APN(Access Point Name,接入点名称),其他应用将无法再使用这一路APN,三者于是互为数据请求方和数据提供方进行信息同步;这样对没有Wifi应用和以太网应用的芯片型号方便进行功能裁剪。
本实施例中,服务端还用于接收平台相关层从外部平台获取的成果消息,并将成果消息通过客户端转发至上层应用层。
连接列表指客户端进行交互时传送的用于标识消息宿主身份的信息,以方便服务端进行连接、断开、数据管理、消息转发、消息回复、消息推送等操作,服务端维护连接列表,并根据其中的身份标识指向具体的应用功能模块或接口,又根据身份标识向客户端返回来源事件的处理结果。
本实施例中,平台相关层用于更新与不同的平台功能接口匹配的应用功能接口;平台相关层对接相应的外部平台,如在音频播放功能中平台相关层提取出create()任务创建接口、connect()发起连接接口、send()参数发送接口、recv()参数接收接口、wait()等待接口、disconnect()停止连接接口、destroy()任务注销接口等,作为统一进程或线程间的通信接口,用来处理linux操作系统或实时操作系统的进程或线程间通信。对于linux操作系统,对接方式可以采用本地Socket(套接字);对于实时操作系统,可以采用信号量、事件结合队列的方式模拟交互事件,即客户端通过通过信号量和事件实施触发,响应至服务端则通过队列消息体中的关键字判断交互事件类型,识别客户身份。
本实施例中,应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
本实施例通过设置平台功能的调用系统,优化了软件的功能架构,增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能的开发难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
实施例4
参见图5~图7所示,本实施例在实施例3的基础上进一步提供一种平台功能的调用系统,本实施例中,服务端包括消息中转站和消息处理站;消息中转站用于接收客户端转发的发自上层应用层的初始化接口,并使上层应用层和服务端建立连接;消息中转站还用于将上层应用层发送至客户端的请求消息转发至消息处理站;消息处理站用于接收请求消息,并在连接列表中查询出请求消息需调用的平台相关层的应用功能接口,并且从平台相关层调用应用功能接口。
较佳地,消息处理站还用于提供应用功能模块,应用功能模块同样用于实现针对某个应用的功能,但无需随着平台变化而调整。
具体地,消息中转站提供客户端和消息处理站的连接、注册请求,消息转发等。消息处理站提供具体的处理功能;客户端和消息处理站中个各个应用启动会向消息中转站发出连接请求,方便消息中转站清楚各应用的工作状态,用以进行消息转发和广播处理。
消息处理站对接外部平台的某一具体功能并从中提取出不依赖外部平台的功能或逻辑并将这部分置于消息处理站实现。例如,对于音乐播放功能,需要根据不同格式类型的音频文件划分成多个播放功能,每个播放功能分为解码部分和播放部分;则播放部分由于不同平台处理方式不同,由平台相关层一方面调用外部平台的对应接口进行实现,一方面开放接口供消息处理站调用。对于软件解码以及音频播放状态管理,由于不依赖外部平台,则由消息处理站进行实现。
又以数据拨号功能为例,需要模组具备开启数据业务、关闭数据业务和查询数据业务状态三个功能点;对于开启数据业务功能点,上层应用层调用客户端的初始化接口连接服务端;连接成功后发送开启数据请求的请求消息,服务端收到请求消息后判断数据业务状态和注网状态,调用平台相关层的接口SIMCom_start_datacall()开启数据业务。而平台相关层的SIMCom_start_datacall()接口调用外部平台的相应接口,例如高通平台的dsi_init()和dsi_start_data_call()等接口。
这样,当更换了对接的外部平台时,同样实现开启数据业务功能点则只需要调整平台相关层的SIMCom_start_datacall()这一接口中对于外部平台的调用内容即可;至于客户端和服务端则不需要进行重构。
消息中转站接收客户端的请求是根据请求消息的ID(Identity document,身份标识)分别转发给对应的消息处理站,消息处理站处理后,调用再封装的平台相关层接口。平台相关层对接口进行面向应用的重新封装,对于不同的应用功能,客户端响应并向服务端发送的请求消息如:数据业务应用包括开启数据业务、关闭数据业务、获取数据业务状态等ID;Wifi应用包括开启热点、关闭热点、开启热点数据业务、关闭热点数据业务、设置热点名和密码、获取热点名和密码、设置热点属性、获取热点属性等ID;GPS应用包括开启定位、关闭定位、设置定位更新时间等ID;语音应用包括播放音乐、停止音乐、获取播放状态、设置音频参数、获取音频参数等ID。
以上述Wifi应用为例,请求消息ID为“设置热点名和密码”,则消息中转站根据该请求消息的类型转发给消息处理站中的Wifi部分,Wifi部分继而对热点名和密码的参数合法性进行判断,再调用平台相关层接口写入热点名、密码,具体动作包括打开配置文件、写入热点名及密码、保存配置文件等。又以播放音乐的请求消息ID为例,消息中转站根据消息类型转发给消息处理站中的语音部分,消息中转站的语音部分读取音乐文件、提取音乐文件属性、对音乐解码、音频数据混流,并调用平台相关层的接口实现播放音频数据,接口中具体又包括了打开音频设备、设置音频设备属性以及写入音频数据流等调用外部平台实现的具体功能。
本实施例通过在平台功能的调用系统中进一步设置消息中转站和消息处理站,优化了软件的功能架构,增强了内聚性和可移植性,减少了软件对于不同厂商平台的耦合度;降低了针对新平台功能的开发难度和工作量,提高了软件跨平台移植的可行性,减少了人力资源成本并加速了产品成型。
实施例5
图8为本发明实施例5提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1至2中任意一实施例中的平台功能的调用方法。图8显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1至2中任意一实施例中的平台功能的调用方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1至2中任意一实施例中的平台功能的调用方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1至2中任意一实施例中的平台功能的调用方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (14)
1.一种平台功能的调用方法,其特征在于,所述调用方法包括:
上层应用层调用客户端的初始化接口,以连接服务端;
上层应用层响应于连接至服务端,发送请求消息至所述服务端;
所述服务端响应于接收到请求消息,在连接列表中查询得到所述请求消息中需调用的应用功能接口,并且从平台相关层调用所述应用功能接口,以从外部平台调用与所述应用功能接口对应的平台功能接口,所述平台相关层提供和外部平台匹配的所述应用功能接口。
2.如权利要求1所述的平台功能的调用方法,其特征在于,所述服务端从所述平台相关层调用所述应用功能接口的步骤之后,所述调用方法还包括:所述平台相关层从所述外部平台获取成果消息,所述服务端从所述平台相关层接收所述成果消息,并将所述成果消息通过所述客户端转发至上层应用层。
3.如权利要求1所述的平台功能的调用方法,其特征在于,所述平台相关层用于更新与不同的所述平台功能接口匹配的所述应用功能接口。
4.如权利要求1所述的平台功能的调用方法,其特征在于,所述应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
5.如权利要求1所述的平台功能的调用方法,其特征在于,所述调用方法还包括:
所述上层应用层调用所述客户端的所述初始化接口,以连接所述服务端的消息中转站;
所述上层应用层响应于连接至所述消息中转站,并发送所述请求消息至所述服务端的消息处理站;
所述消息处理站响应于接收到所述请求消息,在所述连接列表中查询得到所述请求消息中需调用的所述应用功能接口,并且从所述平台相关层调用所述应用功能接口。
6.如权利要求5所述的平台功能的调用方法,其特征在于,所述消息处理站还用于提供应用功能模块。
7.一种平台功能的调用系统,其特征在于,包括客户端、服务端、平台相关层;
所述客户端用于接收上层应用层发送的初始化接口并连接服务端;
所述客户端还用于在连接至所述服务端后,将上层应用层发送的请求消息转发至所述服务端;
所述服务端用于在接收到请求消息后,在连接列表中查询得到所述请求消息需调用的应用功能接口,并且从平台相关层调用所述应用功能接口,所述应用功能接口用于从外部平台调用与所述应用功能接口对应的平台功能接口,所述平台相关层提供和外部平台匹配的所述应用功能接口。
8.如权利要求7所述的平台功能的调用系统,其特征在于,所述服务端还用于接收所述平台相关层发送的成果消息,并将所述成果消息通过所述客户端转发至上层应用层;所述平台相关层用于从所述外部平台获取所述成果消息。
9.如权利要求7所述的平台功能的调用系统,其特征在于,所述平台相关层用于更新与不同的所述平台功能接口匹配的所述应用功能接口。
10.如权利要求7所述的平台功能的调用系统,其特征在于,所述应用功能接口包括网络连接接口、蓝牙连接接口、语音接口、通话接口、数据业务接口、网络应用层接口、短信接口、位置定位接口、状态管理接口中的任意一种或多种。
11.如权利要求1所述的平台功能的调用系统,其特征在于,所述服务端包括消息中转站和消息处理站;
所述消息中转站用于接收所述客户端转发的发自上层应用层的所述初始化接口,并使所述上层应用层和所述服务端建立连接;
所述消息中转站还用于将所述上层应用层发送至所述客户端的请求消息转发至所述消息处理站;
所述消息处理站用于接收所述请求消息,并在所述连接列表中查询出所述请求消息需调用的所述平台相关层的应用功能接口,并且从所述平台相关层调用所述应用功能接口。
12.如权利要求11所述的平台功能的调用系统,其特征在于,所述消息处理站还用于提供应用功能模块。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述的平台功能的调用方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的平台功能的调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380347.5A CN112433758A (zh) | 2020-11-30 | 2020-11-30 | 平台功能的调用方法及系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380347.5A CN112433758A (zh) | 2020-11-30 | 2020-11-30 | 平台功能的调用方法及系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433758A true CN112433758A (zh) | 2021-03-02 |
Family
ID=74698786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011380347.5A Pending CN112433758A (zh) | 2020-11-30 | 2020-11-30 | 平台功能的调用方法及系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433758A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427361A (zh) * | 2001-12-17 | 2003-07-02 | 北京中视联联合软件有限公司 | 基于客户/服务器结构的底层设备驱动的方法 |
US20050267979A1 (en) * | 2004-05-25 | 2005-12-01 | International Business Machines Corporation | Services layer model for providing standards-based communications |
US7327832B1 (en) * | 2000-08-11 | 2008-02-05 | Unisys Corporation | Adjunct processing of multi-media functions in a messaging system |
CN101668187A (zh) * | 2009-09-29 | 2010-03-10 | 中兴通讯股份有限公司 | 视频监控编码器中间件通用系统及信息传递方法 |
JP2010231809A (ja) * | 2010-06-16 | 2010-10-14 | Autonetworks Technologies Ltd | 制御装置及びコンピュータプログラム |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构系统及实现方法 |
CN104216839A (zh) * | 2014-08-29 | 2014-12-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息交互的方法、装置及终端 |
CN104394185A (zh) * | 2014-09-23 | 2015-03-04 | 福州海峡职业技术学院 | 一种车载设备的中间件系统及车载设备 |
CN109976752A (zh) * | 2017-12-27 | 2019-07-05 | 沪江教育科技(上海)股份有限公司 | 一种跨平台开发方法及系统 |
-
2020
- 2020-11-30 CN CN202011380347.5A patent/CN112433758A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7327832B1 (en) * | 2000-08-11 | 2008-02-05 | Unisys Corporation | Adjunct processing of multi-media functions in a messaging system |
CN1427361A (zh) * | 2001-12-17 | 2003-07-02 | 北京中视联联合软件有限公司 | 基于客户/服务器结构的底层设备驱动的方法 |
US20050267979A1 (en) * | 2004-05-25 | 2005-12-01 | International Business Machines Corporation | Services layer model for providing standards-based communications |
CN101668187A (zh) * | 2009-09-29 | 2010-03-10 | 中兴通讯股份有限公司 | 视频监控编码器中间件通用系统及信息传递方法 |
JP2010231809A (ja) * | 2010-06-16 | 2010-10-14 | Autonetworks Technologies Ltd | 制御装置及びコンピュータプログラム |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构系统及实现方法 |
CN104216839A (zh) * | 2014-08-29 | 2014-12-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息交互的方法、装置及终端 |
CN104394185A (zh) * | 2014-09-23 | 2015-03-04 | 福州海峡职业技术学院 | 一种车载设备的中间件系统及车载设备 |
CN109976752A (zh) * | 2017-12-27 | 2019-07-05 | 沪江教育科技(上海)股份有限公司 | 一种跨平台开发方法及系统 |
Non-Patent Citations (3)
Title |
---|
聂长海: "智能化软件质量保证概念与方法", 31 July 2020, 机械工业出版社, pages: 137 * |
邹娟平: "基于物联网技术的现代物流管理研究", 31 October 2019, 中国海洋大学出版社, pages: 38 * |
陶莉: "基于嵌入式车载娱乐系统的组态中间件设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 2 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5396630A (en) | Method and system for object management across process boundries in a data processing system | |
EP2622484B1 (en) | Debugger launch and attach on compute clusters | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
US20170163479A1 (en) | Method, Device and System of Renewing Terminal Configuration In a Memcached System | |
CN107222326B (zh) | 用于设备间服务的访问方法、配置方法及装置 | |
JP3055970B2 (ja) | オブジェクト指向言語間インタフェース実現方法および装置 | |
WO2021088641A1 (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
US7363355B2 (en) | Transparent disconnected services discovery and use | |
CN112637329B (zh) | 一种多应用程序的标识方法、装置、设备及存储介质 | |
CN104268025A (zh) | 一种进程间通信的方法及系统、服务器 | |
CN111147308B (zh) | 基于微服务架构的网络管理方法和系统 | |
US8959534B2 (en) | Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services | |
CN109194589B (zh) | 一种mdc实现方法及装置 | |
CN108304270B (zh) | 一种通信方法、设备及计算机可读存储介质 | |
CN113726581B (zh) | 一种恢复网络设备的出厂配置的方法、装置及网络设备 | |
CN111581576B (zh) | 基于微服务的开发处理方法、装置及存储介质 | |
CA2332586A1 (en) | A telecommunication controller messaging system | |
CN112433758A (zh) | 平台功能的调用方法及系统、设备及存储介质 | |
JP3515839B2 (ja) | コンピュータシステム間通信システム | |
CN112134938B (zh) | 一种消息处理方法、装置、终端及计算机可读存储介质 | |
CN114205848A (zh) | 虚拟wifi上网方法、装置、计算机设备和存储介质 | |
CN115225482A (zh) | 一种基于Kubernetes进行Pod容器网络配置的方法及装置 | |
CN112202605A (zh) | 服务配置方法、装置、设备及存储介质 | |
JP2006031491A (ja) | アプリケーション間連携システム | |
JP5381242B2 (ja) | マルチプロセッサシステム及び制御プログラム |
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 |