CN112052058A - 一种基于ipc多应用融合屏幕的技术 - Google Patents

一种基于ipc多应用融合屏幕的技术 Download PDF

Info

Publication number
CN112052058A
CN112052058A CN202010813386.3A CN202010813386A CN112052058A CN 112052058 A CN112052058 A CN 112052058A CN 202010813386 A CN202010813386 A CN 202010813386A CN 112052058 A CN112052058 A CN 112052058A
Authority
CN
China
Prior art keywords
application
window
application program
programs
different
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
CN202010813386.3A
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.)
New Wisdom Daoshu Shanghai Technology Co ltd
Original Assignee
New Wisdom Daoshu Shanghai 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 New Wisdom Daoshu Shanghai Technology Co ltd filed Critical New Wisdom Daoshu Shanghai Technology Co ltd
Priority to CN202010813386.3A priority Critical patent/CN112052058A/zh
Publication of CN112052058A publication Critical patent/CN112052058A/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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本发明提供了一种基于IPC多应用融合屏幕的技术,至少包括:开发主应用程序用于管理所有应用程序的启动和关闭、窗口大小位置和状态,负责事件的侦听和动态脚本与本地应用程序的互动;为每一类应用程序开发一个窗口控制器,窗口控制器与主应用程序对接,通过视窗消息处理机制实现不同应用程序之间的事件通知和处理逻辑,完成窗口间的相互控制;通过信号量实现不同用于程序之间异步结果的同步操作;通过内存映射文件技术实现不同应用程序之间大数据量的同步工作;通过网络套接字的方式增强不同应用程序之间互动能力。本技术方案支持大型应用的模块化开发,可独立开发不同区域程序;支持多种技术混合开发和灵活高效的应用定制。

Description

一种基于IPC多应用融合屏幕的技术
技术领域
本发明涉及应用软件显示领域,尤其涉及基于IPC多应用融合屏幕的技术。
背景技术
目前在大屏应用或数据可视化应用方面主要采用一个屏幕对应一个应用模式,不同大小的屏幕需要开发不同的应用来适配。随着大屏应用和各种数据可视化的需求变多变复杂,传统的单应用模式很难适应这种变化,也给应用程序开发商带来了开发难度和很多不必要的开发工作量。
对于大屏幕应用的拆分目前多采用硬件分屏技术实现大屏幕应用的模块化分拆,但这种拆分依赖于硬件,依然无法快速适应不同大小的屏幕。也存在使用B/S模式开发基于浏览器的Web应用,但这种解决方案严重依赖浏览器,而且浏览器的性能和技术单一问题都令业内开发人员头痛不已。
因此,基于情况本领域技术人员致力于提供一种基于IPC多应用融合屏幕的技术,以解决前述问题。
发明内容
本发明所要解决的技术问题是提供一种基于IPC多应用融合屏幕的技术,通过该技术可以让大屏应用或数据可视化应用以模块化的方式独立开发,然后自由拼接出不同屏幕大小,解决了在大屏应用或数据可视化应用的过程中由于不同大小屏幕造成同一个项目需要开发多套屏幕解决方案的问题。
为了解决上述问题,本发明提供了一种基于IPC多应用融合屏幕的技术,至少包括:
(1)开发主应用程序用于管理所有应用程序的启动和关闭、窗口大小位置和状态,负责事件的侦听和动态脚本与本地应用程序的互动;
(2)为每一类应用程序开发一个窗口控制器,窗口控制器与主应用程序对接,由主应用程序控制各应用程序的窗口呈现;
(3)通过视窗消息处理机制实现不同应用程序之间的事件通知和处理逻辑,完成窗口间的相互控制;
(4)通过信号量实现不同用于程序之间异步结果的同步操作,以保障多个不同应用程序相互操作的有序性;
(5)通过内存映射文件技术实现不同应用程序之间大数据量的同步工作;
(6)为增强不同应用程序之间互动能力,通过网络套接字的方式实现跨应用、跨平台、跨主机的数据同步。
进一步的,在(1)中,主应用程序的工作内容包括但不限于:确定整个屏幕大小、应用功能模块加载、操作系统消息的侦听注册、Web Socket服务侦听启动、执行启动脚本展示多应用窗口。
进一步的,在(1)中,主应用程序还需要实时监控所有应用程序的窗口消息,以保障对多应用窗口进行有效的管理控制。
进一步的,在(2)中,每一个应用程序的窗口控制器的开发为独立开发程序,若干独立开发的应用程序通过(3)-(6)的方式实现应用程序的拼接,从而完成一个完成的应用。
进一步的,在(2)中,应用程序至少分成三大类:内置应用窗口,外围应用窗口和外置浏览器窗口,三种类型的窗口之间相互调用需要采用动态脚本引擎结合不同的IPC技术完成。
进一步的,在(3)中,通过视窗消息处理机制实现不同应用程序窗口键的相互控制,其工作方法为:
(30)应用程序的窗口创建时加入到操作系统消息循环机制中并注册WndProc回调方法;
(31)应用程序的窗口或者键盘通过操作系统提供的发送/处理消息方法通知到操作系统,操作系统再根据消息的类型分发到指定的应用窗口。
(32)应用程序的窗口通过注册的回调方法得到系统消息并根据消息的类型和数据处理相应的逻辑。
进一步的,基于IPC多应用融合屏幕的技术还包括在上述(1)-(6)的基础上设计一套应用程序接口,该应用程序接口至少包括了打开营业程序的窗口接口和查找应用程序的窗口接口。
通过实施上述本发明提供的基于IPC多应用融合屏幕的技术方案,具有如下技术效果:
(1)本技术方案支持大型应用的模块化开发,不同的展示区域可以作为一个独立的应用程序来开发,对开发人员而言,只要关注本应用的数据展示,而不需要关注应用在屏幕上的位置、大小和状态;
(2)本技术方案支持多种技术混合开发,可以使用不同的技术开发应用模块,然后使用本技术拼接成一个完整应用。
(3)本技术方案支持灵活高效的应用定制,可以使用现有应用程序,通过本设计可以灵活控制不同应用程序位置大小和状态、操作应用执行特定命令,从而达到高效灵活的应用定制。
附图说明
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
图1为本发明实施例中大型应用显示模块化示意图;
图2为本发明实施例中视窗消息处理机制工作原理示意图;
图3为本发明实施例中不同类型应用窗口选用不同IPC技术的示意图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面采用具体实施方式详细描述本发明的技术方案。
一种基于IPC多应用融合屏幕的技术,本实施例中设计将屏幕抽象为一个矩形,并将屏幕中不同的显示区域也抽象成一个个小矩形,因此一个完整的应用程序其实是由若干个独立的小矩形应用程序组合而成,如图1所示;研发人员可以使用不同的技术开发独立的小矩形应用程序,然后利用本实施例中的技术将这些独立的应用程序拼接成一个完整的应用程序,显示在大的屏幕当中;本实施例的设计方案至少包括:
(1)开发主应用程序(Screen Master)用于管理所有应用程序的启动和关闭、窗口大小位置和状态,负责事件的侦听和动态脚本与本地应用程序的互动;主应用程序的工作内容包括但不限于:确定整个屏幕大小;应用功能模块(内、外部应用信息)加载;Windows消息的侦听注册;Web Socket服务侦听启动;执行启动脚本展示多应用窗口;主应用程序还需要实时监控所有应用程序的窗口消息,以保障对多应用窗口进行有效的管理控制;
(2)为每一类应用程序开发一个窗口控制器(Window Master),窗口控制器与主应用程序对接,由主应用程序控制各应用程序的窗口呈现;每一个应用程序的窗口控制器的开发为独立开发程序,在本实施例中把窗口控制器抽象为接口,若干独立开发的应用程序通过(3)-(6)的方式实现应用程序的拼接,从而完成一个完成的应用,如图1所示;
将窗口控制去抽象定义为接口的主要目的是方便后续开发的扩展和规范;在实际的程序开发过程中,不进行窗口控制器的抽象定义也是可行的。
本实施例主要将应用程序分成三大类:内置应用窗口,外围应用窗口和外置浏览器窗口,三种类型的窗口之间相互调用需要采用动态脚本引擎结合不同的IPC技术完成,如图3所示,在实际程序开发过程中不限于以上三种程序分类,其他分类仍然是可行的,实际程序开发时可以根据实际应用场景增加或减少类别。
(3)通过视窗消息处理机制(Windows Message)实现不同应用程序之间的事件通知和处理逻辑,完成窗口间的相互控制;其工作原理如图2所示,具体表述为:
(30)应用程序的窗口创建时加入到Windows消息循环机制中并注册WndProc回调方法;
(31)应用程序的窗口或者键盘等可以通过Windows操作系统提供的send/postmessage方法通知到操作系统,操作系统再根据消息的类型分发到指定的应用窗口;
(32)应用程序的窗口通过注册的回调方法得到系统消息(另一个应用窗口或系统输入设备的消息)并根据消息的类型和数据处理相应的逻辑。
(4)在融合多应用时,不可避免需要同步不同应用之间异步执行结果,本设计中使用的操作系统的信号量semaphore实现异步结果的同步操作,从而保证了多个应用相互操作的有序性;
(5)以上的消息同步机制只能实现简单的数据结构传递,在本实施例的应用场景中,不同的应用之间需要同步自身的位置大小状态等很多信息,因此,引入内存映射文件技术实现了不同应用之间大数据量的同步工作,以实现最高效的进程间大量数据交换;
(6)为增强不同应用之间互动能力,本实施例中引入了网络套接字-Web Socket的方式实现跨应用、跨平台、跨主机的数据同步;在无法支持Windows消息机制的应用环境,使用网络套接字是高效的,而且是方便不同应用的集成的。
基于IPC多应用融合屏幕的技术还包括在上述(1)-(6)的基础上设计一套应用程序接口(API),该应用程序接口至少包括了全局性应用程序接口:打开营业程序的窗口接口和查找应用程序的窗口接口,其中,打开营业程序的窗口接口根据参数打开一个新应用窗口,返回窗口对象;查找应用程序的窗口接口根据名称(name)查找一个已经存在的窗口,返回窗口对象。
查找或打开的窗口对象支持以下操作API:显示窗口Show(parent)、关闭窗口Close()、关闭窗口Hide()、刷新窗口Refresh(url)、修改窗口大小Size(width,height)、修改窗口位置Site(left,top)、修改窗口状态Mode(status)、让窗口中的应用执行脚本Exec(script)等。
实际应用时可以扩展上面的API以满足不同应用场景的要求,比如:执行操作系统命令Run(shell)、修改窗口样式Style(properties)等。
为统一上述接口调用方式,本实施例中选用动态脚本引擎与本地主程序进行互动。
需要说明的是,多应用程序并不局限于一台计算机主机上,通过类似Socket技术是可以实际跨平台跨计算机主机的应用融合。
需要补充说明的是,除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本领域技术人员在考虑说明书及实践这里的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何用途或者适应性变化,这些用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的结构,并且可以在不脱离其范围的前提下进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

Claims (7)

1.一种基于IPC多应用融合屏幕的技术,其特征在于,至少包括:
(1)开发主应用程序用于管理所有应用程序的启动和关闭、窗口大小位置和状态,负责事件的侦听和动态脚本与本地应用程序的互动;
(2)为每一类应用程序开发一个窗口控制器,窗口控制器与主应用程序对接,由主应用程序控制各应用程序的窗口呈现;
(3)通过视窗消息处理机制实现不同应用程序之间的事件通知和处理逻辑,完成窗口间的相互控制;
(4)通过信号量实现不同用于程序之间异步结果的同步操作,以保障多个不同应用程序相互操作的有序性;
(5)通过内存映射文件技术实现不同应用程序之间大数据量的同步工作;
(6)为增强不同应用程序之间互动能力,通过网络套接字的方式实现跨应用、跨平台、跨主机的数据同步。
2.如权利要求1所述的基于IPC多应用融合屏幕的技术,其特征在于,在(1)中,主应用程序的工作内容包括但不限于:确定整个屏幕大小、应用功能模块加载、操作系统消息的侦听注册、Web Socket服务侦听启动、执行启动脚本展示多应用窗口。
3.如权利要求2所述的基于IPC多应用融合屏幕的技术,其特征在于,在(1)中,主应用程序还需要实时监控所有应用程序的窗口消息,以保障对多应用窗口进行有效的管理控制。
4.如权利要求1所述的基于IPC多应用融合屏幕的技术,其特征在于,在(2)中,每一个应用程序的窗口控制器的开发为独立开发程序,若干独立开发的应用程序通过(3)-(6)的方式实现应用程序的拼接,从而完成一个完成的应用。
5.如权利要求4所述的基于IPC多应用融合屏幕的技术,其特征在于,在(2)中,应用程序至少分成三大类:内置应用窗口,外围应用窗口和外置浏览器窗口,三种类型的窗口之间相互调用需要采用动态脚本引擎结合不同的IPC技术完成。
6.如权利要求4所述的基于IPC多应用融合屏幕的技术,其特征在于,在(3)中,通过视窗消息处理机制实现不同应用程序窗口键的相互控制,其工作方法为:
(30)应用程序的窗口创建时加入到操作系统消息循环机制中并注册WndProc回调方法;
(31)应用程序的窗口或者键盘通过操作系统提供的发送/处理消息方法通知到操作系统,操作系统再根据消息的类型分发到指定的应用窗口。
(32)应用程序的窗口通过注册的回调方法得到系统消息并根据消息的类型和数据处理相应的逻辑。
7.如权利要求1所述的基于IPC多应用融合屏幕的技术,其特征在于,基于IPC多应用融合屏幕的技术还包括在上述(1)-(6)的基础上设计一套应用程序接口,该应用程序接口至少包括了打开营业程序的窗口接口和查找应用程序的窗口接口。
CN202010813386.3A 2020-08-13 2020-08-13 一种基于ipc多应用融合屏幕的技术 Pending CN112052058A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010813386.3A CN112052058A (zh) 2020-08-13 2020-08-13 一种基于ipc多应用融合屏幕的技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010813386.3A CN112052058A (zh) 2020-08-13 2020-08-13 一种基于ipc多应用融合屏幕的技术

Publications (1)

Publication Number Publication Date
CN112052058A true CN112052058A (zh) 2020-12-08

Family

ID=73601210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010813386.3A Pending CN112052058A (zh) 2020-08-13 2020-08-13 一种基于ipc多应用融合屏幕的技术

Country Status (1)

Country Link
CN (1) CN112052058A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333500A (zh) * 2000-07-13 2002-01-30 国际商业机器公司 在嵌入式环境中直观地集成应用程序的系统和方法
US20090222842A1 (en) * 2008-02-08 2009-09-03 Krishnakumar Narayanan System, method and apparatus for controlling multiple applications and services on a digital electronic device
CN103631598A (zh) * 2013-12-09 2014-03-12 国家电网公司 一种界面整合方法及其系统
CN108132766A (zh) * 2017-12-12 2018-06-08 深圳市创维群欣安防科技股份有限公司 一种分布式云拼接系统及其拼接方法
CN109151582A (zh) * 2018-08-16 2019-01-04 海信电子科技(深圳)有限公司 基于Linux机顶盒的多应用管理方法、装置及终端
CN109768996A (zh) * 2019-03-07 2019-05-17 北京德普视讯科技有限公司 基于业务模块应用逻辑构建的云拼接大屏显示系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333500A (zh) * 2000-07-13 2002-01-30 国际商业机器公司 在嵌入式环境中直观地集成应用程序的系统和方法
US20090222842A1 (en) * 2008-02-08 2009-09-03 Krishnakumar Narayanan System, method and apparatus for controlling multiple applications and services on a digital electronic device
CN103631598A (zh) * 2013-12-09 2014-03-12 国家电网公司 一种界面整合方法及其系统
CN108132766A (zh) * 2017-12-12 2018-06-08 深圳市创维群欣安防科技股份有限公司 一种分布式云拼接系统及其拼接方法
CN109151582A (zh) * 2018-08-16 2019-01-04 海信电子科技(深圳)有限公司 基于Linux机顶盒的多应用管理方法、装置及终端
CN109768996A (zh) * 2019-03-07 2019-05-17 北京德普视讯科技有限公司 基于业务模块应用逻辑构建的云拼接大屏显示系统

Similar Documents

Publication Publication Date Title
CN111158818B (zh) 一种页面渲染方法和装置
US11829787B2 (en) Multi-process model for cross-platform applications
CN112329945A (zh) 一种模型部署及推理的方法和装置
Pereira et al. BigActors: a model for structure-aware computation
US20120054262A1 (en) Architecture for modeled pattern based user interfaces
US11531526B1 (en) Creating portable serverless applications
CN113010827A (zh) 页面渲染方法、装置、电子设备以及存储介质
CN112667221A (zh) 基于深度学习开发ide的深度学习模型构建方法及系统
US11494184B1 (en) Creation of transportability container files for serverless applications
US20160170739A1 (en) Alter application behaviour during runtime
CN113448650A (zh) 直播功能插件加载方法、装置、设备及存储介质
CN116432624A (zh) 一种微服务api文档生成方法、装置、设备、存储介质
CN116502437A (zh) 一种基于云+端架构的信号级仿真平台云化方法
CN110599112B (zh) 一种网络页面开发、维护方法和装置
CN112052058A (zh) 一种基于ipc多应用融合屏幕的技术
Cai et al. Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing
CN114924837A (zh) 数据处理方法、电子设备和可读存储介质
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
CN111290818B (zh) 创建应用程序的操作方法及应用程序的操作方法
CN114840310A (zh) 容器创建方法、装置、电子设备和计算机可读存储介质
CN112130811A (zh) 数据处理方法与装置、存储介质、电子设备
Canfora et al. Toward seamless migration of Java AWT-based applications to personal wireless devices
Boulifa et al. Model generation for distributed Java programs
Marino et al. HTML5 visual composition of rest-like web services
US20240053996A1 (en) Bridging ui elements across multiple operating systems

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