[发明专利]一种事件处理的模拟方法、系统、电子设备及介质在审
申请号: | 202310634671.2 | 申请日: | 2023-05-31 |
公开(公告)号: | CN116661949A | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 陈浩;梁晓峣;景乃锋;刘子钊;李钢 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/448;G06F9/50 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 徐秋平 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事件 处理 模拟 方法 系统 电子设备 介质 | ||
1.一种事件处理的模拟方法,其特征在于,运行于一事件驱动模拟器中,所述事件处理的模拟方法包括:
将待执行的目标对象模拟为部件,将调用所述部件的模拟函数和时间戳封装成事件;
其中,所述时间戳为所述事件的执行时间;
基于细粒度策略将所述部件中的事件划分为内部事件或外部事件;
基于所述内部事件的时间戳顺序构建内部事件队列;为所述内部事件队列中的每个内部事件分配一个线程;将时间戳相同的所述内部事件的线程并行处理;
基于所述外部事件的时间戳顺序构建外部事件队列;为所述外部事件队列中的每个外部事件分配一个线程;将时间戳相同的所述外部事件的线程并行处理。
2.根据权利要求1所述的事件处理的模拟方法,其特征在于,所述事件处理的模拟方法还包括:
针对所述部件设置本地时钟,以使所述部件形成本地唯一的事件处理时间序;其中,所述本地时钟记录所述部件在所述内部事件队列和所述外部事件队列中时间戳最大的事件的时间。
3.根据权利要求2所述的事件处理的模拟方法,其特征在于,所述针对所述部件设置本地时钟,以使所述部件形成本地唯一的事件处理时间序,包括:
针对所述部件设置本地时钟,所述本地时钟记录所述部件在所述内部事件队列和所述外部事件队列中时间戳最大的事件的时间;
如果所述部件存在外部触发事件,判断所述外部触发事件的时间戳和所述部件的本地时钟;
如果所述外部触发事件的时间戳小于等于所述部件的本地时钟,则丢弃所述外部触发事件;
否则,不丢弃。
4.根据权利要求1所述的事件处理的模拟方法,其特征在于,所述基于细粒度策略将所述部件中的事件划分为内部事件或外部事件,包括:
当所述部件中的事件为与其它部件通信触发的事件时,将该事件划分为外部事件;
当所述部件中的事件为所述部件自身处理逻辑触发的事件时,将该事件划分为内部事件。
5.根据权利要求1所述的事件处理的模拟方法,其特征在于,所述事件处理的模拟方法还包括:
当所述内部事件队列的内部事件和所述外部事件队列中的外部事件的时间戳相同时,优先执行所述内部事件队列的内部事件。
6.根据权利要求1所述的事件处理的模拟方法,其特征在于,所述将待执行的目标对象模拟为部件,包括:
所述待执行的目标对象为若干个,将若干个待执行的目标对象对应模拟为若干个部件;其中,若干个部件基于部件通信策略互相通信。
7.根据权利要求1或6所述的事件处理的模拟方法,其特征在于,所述部件通信策略包括:
当第一部件和第二部件通信,所述第一部件中存在内部事件E0为所述第二部件的内部事件E1的触发事件时;所述若干个部件包括第一部件和第二部件;
所述内部事件E0触发所述内部事件E1对应的外部事件E2;其中,所述外部事件E2的时间戳T2和所述内部事件E0的时间戳T0要满足T2=T0;
所述外部事件E2触发所述内部事件E1;所述外部事件E2的时间戳T2和所述内部事件E1的时间戳T1要满足T1=T2+P;其中,P为所述第二部件的时钟周期。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310634671.2/1.html,转载请声明来源钻瓜专利网。