基于web操作系统的应用插件通信系统技术方案

技术编号:37467581 阅读:39 留言:0更新日期:2023-05-06 09:43
基于web操作系统的应用插件通信系统,通过通信通道模块和通信数据管理模块实现web应用程序和插件程序之间的数据通信、数据封装及数据解封装;数据通信时,发送端的数据通过通信通道模块被发送至通信数据管理模块,通信数据管理模块对数据进行处理后,经通信通道模块转发至接收端。其中,通信系统对web应用发送和接收的数据实现自动封装、解封装功能;而通信系统与插件程序之间仅传递经封装后的数据,在插件程序需要获取真实的数据内容时,通过通信数据管理模块提供的数据解封功能,将数据解封装以获取得真实数据。本发明专利技术通过对通信的数据进行封装,保证了C语言插件对通信数据的可读性;抽象化具体的数据信息,避免过载。避免过载。避免过载。

【技术实现步骤摘要】
基于web操作系统的应用插件通信系统


[0001]本专利技术涉及web开发
,具体涉及基于web操作系统的应用插件通信系统。

技术介绍

[0002]传统插件通信机制仅支持字符串传输,在简单、信息量少的场景下可以高效率运行,但对于处理复杂数据以及信息冗杂的情况却力有未逮。
[0003]另一方面,多数插件机制仅支持JavaScript数据到C++数据的转换,对于C语言数据,需要进一步判断和解析。由此,我们需要一种机制,在这种机制下,系统无需判断目标语言是C还是C++,这一切都交由插件程序自己判断,系统传递到插件程序的数据只存在C/C++通用的基本数据类型。

技术实现思路

[0004]为解决已有技术存在的不足,本专利技术提供了一种基于web操作系统的应用插件通信系统,所述通信系统运行于web应用程序及插件程序之间,且包括通信通道模块和通信数据管理模块,通过通信通道模块和通信数据管理模块实现web应用程序和插件程序之间的数据通信、数据封装及数据解封装;web应用程序及插件程序通过通信系统实现数据通信时,发送端的数据通过通信本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于web操作系统的应用插件通信系统,其特征在于,所述通信系统运行于web应用程序及插件程序之间,且包括通信通道模块和通信数据管理模块,通过通信通道模块和通信数据管理模块实现web应用程序和插件程序之间的数据通信、数据封装及数据解封装;web应用程序及插件程序通过通信系统实现数据通信时,发送端的数据通过通信通道模块被发送至通信数据管理模块,通信数据管理模块将数据进行封装为JS:Value类型数据并存储,在插件程序作为发送端而web应用程序作为接收端时,通信系统将封装数据进行解封后传递给web应用,在web应用作为发送端而插件程序作为接收端时,通信系统将数据转换为JS:Value类型数据后再将与该JS:Value类型数据相关的类型值和标识符进行抽象化封装并传递给插件程序,使得通信系统与插件程序之间仅传递数据的类型值和标识符;通信数据管理模块同时提供数据解封功能,在插件程序需要获取真实的数据内容时,通信数据管理模块将数据解封装以提供给插件程序。2.如权利要求1所述的基于web操作系统的应用插件通信系统,其特征在于,通信系统在web应用程序及插件程序之间传递的数据包括JavaScript原数据以及C/C++原数据;所述通信通道模块包括同步通信通道模块及异步通信通道模块,以分别实现web应用程序及插件程序之间的同步通信及异步通信,其中,同步通信通道模块包括同步通信接口和消息监听接口,在一次数据通信过程中,消息监听接口由数据的接收端注册,同步通信通道模块在一次数据通信过程中所涉及的工作步骤包括:步骤S11:由消息接收端注册消息监听接口;步骤S12:接收数据并将数据发送至通信数据管理模块进行封装或解封装;步骤S13:通过同步通信接口将解封装后的原数据或封装后的数据的类型值和标识符发送给接收端的消息监听接口;步骤S14:等待事件处理:通信系统阻塞发送端进程,等待接收端对数据的处理;步骤S15:消息回传:接收端在完成对数据的处理后,将处理结果通过同步通信通道回传至发送端;同步通信接口包括封装JavaScript的同步通信接口和封装C/C++的同步通信接口,消息监听接口也包括管理JavaScript的消息监听接口和管理C/C++的消息监听接口,以分别实现JavaScript原数据以及C/C++原数据在通信系统中的通信;异步通信通道模块包括异步通信接口和消息监听接口,在一次数据通信过程中,消息监听接口由数据的接收端注册,异步通信通道模块在一次数据通信过程中所涉及的工作步骤包括:步骤S21:把数据将要发送到的指定线程对象作为一种特殊的线程数据,并对其封装;步骤S22:由消息接收端注册消息监听接口,在注册消息监听接口的同时,把步骤S21涉及到的封装的线程数据作为另一个参数一起注册;步骤S23:将所注册的线程数据解封装,并解析为web操作系统可识别调用的线程对象,同时与注册的消息监听接口绑定;步骤S24:接收数据并将数据发送至通信数据管理模块进行封装或解封装;步骤S25:通过异步通信接口将解封装后的原数据或封装后的数据的类型值和标识符发送给接收端指定线程的消息监听接口;在接收端处理数据时,发送端正常处理其它事情,
待接收端处理完成数据后,可选择将结果通过异步通信通道发送至发送端,或者选择不发送结果;异步通信接口包括封装JavaScript的异步通信接口和封装C/C++的异步通信接口,消息监听接口也包括管理JavaScript的消息监听接口和管理C/C++的消息监听接口,以分别实现JavaScript原数据以及C/C++原数据在通信系统中的通信。3.如权利要求1所述的基于web操作系统的应用插件通信系统,其特征在于,所述通信数据管理模块包括数据转换模块、数据存储模块及数据管理模块,其中,数据转换模块用于实现JavaScript原数据以及C/C++原数据的封装、解封装,以及识别封装后的数据的类型值和标识符;数据存储模块用于将通信数据与插件实例进行绑定存储;数据管理模块用于管理数据存储模块中所存储的数据。4.如权利要求3所述的基于web操作系统的应用插件通信系统,其特征在于,数据管理模块对数据存储模块中所存储的数据所实现的管理模式包括单个数据管理及插件实例数据管理,其中,单个数据管理是指:管理数据的内存申请和释放,并通过引用计数管理单个数据生命周期;插件实例数据管理是指:插件实例销毁时释放插件实例所对应的所有数据内存。5.如权利要求3所述的基于web操作系统的应用插件通信系统,其特征在于,数据转换模块中,通过如下步骤实现对JavaScript原数据的封装:步骤S31,转换JavaScript原数据:将JavaScript原数据转换为web操作系统引擎可识别的JS:Value类型数据;步骤S32,构造类型数据对象:根据JavaScript原数据的数据类型进行对象构造;将所述步骤S31转换后的JS:Value类型数据作为类型数据对象的成员变量保存在对象中,得到类型数据对象...

【专利技术属性】
技术研发人员:谢明择谌志华
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1