一种PON多进程软件架构实现方法技术

技术编号:37679361 阅读:17 留言:0更新日期:2023-05-26 04:46
本发明专利技术公开了一种PON多进程软件架构实现方法,包括以下步骤:S1.设定程序中存在的方法,并将该方法通过init传入系统内;S2.每个程序调用init传入给系统提供的方法;S3.订阅兴趣事件;S4.系统内发生事件,并将事件发生情况发送至已订阅程序中。有效地减少了开发者在开发过程中所需进行的重复工作。发过程中所需进行的重复工作。发过程中所需进行的重复工作。

【技术实现步骤摘要】
一种PON多进程软件架构实现方法


[0001]本专利技术涉及软件架构领域,具体为一种PON多进程软件架构实现方法。

技术介绍

[0002]一个嵌入式设备里往往是多个进程来构成,一般采取进程间通信的方式相互之间交流。即定义消息格式、消息类型、消息处理,每个进程里需要另外进程做某件事即新定义一个消息类型及其参数数据通过进程间通信发给目的进程,目的进程收到消息然后进行消息处理。此种方式简单直接易于理解,不好就是每做一个项目就需要重复做这些基础编程。

技术实现思路

[0003]本专利技术提供一种PON多进程软件架构实现方法,包括以下步骤:S1.设定程序中存在的方法,并将该方法通过init传入系统内;S2.每个程序调用init传入给系统提供的方法;S3.订阅兴趣事件;S4.系统内发生事件,并将事件发生情况发送至已订阅程序中。
[0004]进一步地,所述S2步骤中方法所需参数包括:方法名、处理函数。
[0005]进一步地,所述S4步骤中通知事件的参数包括:事件名、参数数据。
[0006]进一步地,当程序想调用的方法并未上传至系统中时:S2.调用其他程序提供方法;所述S2调用其他程序提供方法所需参数包括:方法名、参数数据。
[0007]进一步地,所述系统中针对每个设备程序设置有唯一标识的设备程序描述符,系统中存在一个方法表以及一个事件表。
[0008]本专利技术提供一种PON多进程软件架构实现方法,有效地减少了开发者在开发过程中所需进行的重复工作。
附图说明
[0009]图1为本专利技术所提供的一种PON多进程软件架构实现方法的流程图;图2为本专利技术所提供的一种PON多进程软件架构实现方法的实施例的步骤S1示意图;图3为本专利技术所提供的一种PON多进程软件架构实现方法的实施例的步骤S2示意图;图4为本专利技术所提供的一种PON多进程软件架构实现方法的实施例的步骤S3示意图;图5为本专利技术所提供的一种PON多进程软件架构实现方法的实施例的步骤S4示意图。
具体实施方式
[0010]以下结合附图对本专利技术的实施方法进行详细说明,所描述的仅为部分实施例,并非全部实施例,为了清楚的目的,在附图及说明中省略了与本专利技术无关的表示及描述。
[0011]如图1所示,本专利技术提供一种PON多进程软件架构实现方法,包括以下步骤:S1.设定程序中存在的方法,并将该方法通过init传入系统内;S2.每个程序调用init传入给系统提供的方法;S3.订阅兴趣事件;S4.系统内发生事件,并将事件发生情况发送至已订阅程序中。
[0012]实施例:如图2所示,假设系统里有另外两个程序分别app1、app2,其中app1提供fun1、fun2,app2提供fun3、fun4方法供系统其他进程使用,初始化时app1、app2使用INIT告知管理程序manager。含义即是说app1有方法fun1、fun2提供,外面可以来调此。使用json消息来进行信息交换,其中Type字段标识消息作用,Id字段用于区分每个调用,Funs即支持的方法名字,示例代码如下所示。
[0013]app1发送消息给manger:{"Type":"INIT","Id":12345,"Funs":["fun1","fun2"]};manage回复app1:{"Type":"ACK","Id":12345}。
[0014]如图3所示,系统里有个app3想调fun2,于是即直接向manage发起消息:app3向manage发起,方法的参数即在Parameter里,这里假设传入两个参数。
[0015]{"Type":"CALL","Id":12135,"Fun":"fun2","Parameter":{"Arg1":123,"Arg2":"aabc"}}。
[0016]app1收到后执行并返回执行结果,假设有一个带出参数,其返回值如下所示。
[0017]成功:{"Type":"ACK","Id":12135,"Status":0,"Parameter":{"Arg":165}};失败:{
"Type":"ACK","Id":12135,"Status":1,"Reason":"internal error."}。
[0018]如图4所示,事件即系统里不可预知什么时候发生,于是就有了可以先订阅对此事件,即表示此事件发生后就告知我,我就会执行对应操作。假设app1对event1感兴趣,app2对event2感兴趣。
[0019]app1即发送:{"Type":"SUBSCRIBE","Id":12111,"Events":["event1"]};manage回复:{"Type":"ACK","Id":12111}。
[0020]如图5所示,系统发生事件,假设是app2里发生的event1事件,app2即主动notify给manage,manage则通知到感兴趣的app。
[0021]以上所述,仅为本专利技术较佳的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,根据本专利技术的技术方案及其专利技术构思加以等同替换或改变,都应涵盖在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PON多进程软件架构实现方法,其特征在于,包括以下步骤:S1.设定程序中存在的方法,并将该方法通过init传入系统内;S2.每个程序调用init传入给系统提供的方法;S3.订阅兴趣事件;S4.系统内发生事件,并将事件发生情况发送至已订阅程序中。2.根据权利要求1所述的一种PON多进程软件架构实现方法,其特征在于,所述S2步骤中方法所需参数包括:方法名、处理函数。3.根据权利要求1所述的一种PON多进程软件架构实现方法,其特...

【专利技术属性】
技术研发人员:谢超秦志红曹少华
申请(专利权)人:四川天邑康和通信股份有限公司
类型:发明
国别省市:

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

1