一种终端进程通信处理方法及终端与流程

文档序号:37261531发布日期:2024-03-12 20:41阅读:7来源:国知局
一种终端进程通信处理方法及终端与流程

本技术涉及终端,尤其涉及一种终端进程通信处理方法及终端。


背景技术:

1、android操作系统中,应用与服务器经常需要进行数据传输,一般可以使用进程间通信的方式,例如,可以通过binder机制进行传输,从而获取对方的数据。

2、binder机制传输过程包括:首先,binder驱动在内核空间创建一个数据接收缓存区;然后binder驱动在内核空间开辟一块内核缓存区,建立内核缓存区和内核中数据接收缓存区之间的映射关系,以及内核中数据接收缓存区和接收进程用户空间地址的映射关系。当进行数据传输时,发送方进程通过系统调用copy_from_user函数将数据拷贝到内核中的内核缓存区,由于内核缓存区和接收进程的用户空间存在内存映射,因此也就是相当于把数据发送到了接收进程的用户空间,完成跨进程的通信。

3、尽管binder机制传递消息速度快,但从client(客户端)发送至server(服务端)这条通路上,有很高概率发生一个或多个任务堵塞或卡死,目前需要一种进程通信处理方法提升系统的响应能力和用户体验。


技术实现思路

1、本技术提供了一种终端进程通信处理方法及终端,以解决单一通信通道遭遇通道繁忙或单个任务卡死导致整个通路堵死的系列恶性问题。

2、一方面,本技术一些实施例公开一种终端进程通信处理方法,包括:

3、响应于第一客户端发送的第一通信请求,在所述第一通信请求中解析出第一通信任务;

4、获取负责所述第一客户端跟第一服务端之间通信的第一通信通道的繁忙等级;

5、如果所述第一通信通道的繁忙等级大于预设阈值,从其他通信通道中根据第二策略筛选第二通信通道,所述第二通信通道为所述其他通信通道中可用度评分最高且当前状态不忙的通信通道;所述第二通信通道为负责所述第二客户端跟所述第二服务端之间通信的通信通道;

6、将所述第一通信任务发送至第二通信通道的待处理第二任务队列,以使所述第二通信通道将所述第一通信任务发送至第一服务端。

7、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

8、获取所述第一客户端的第一通信通道的繁忙等级步骤中,根据第一策略计算出第一通信通道的繁忙等级;所述第一策略基于第一通信通道的待处理第一任务队列中的任务数量、紧要度确定;

9、如果所述第一通信通道的繁忙等级大于预设阈值和/或所述任务数量超过第一任务数量阈值,从其他通信通道中根据第二策略筛选可用度评分最高且当前状态不忙的通信通道确定为第二通信通道。

10、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

11、当第一通信通道的繁忙等级大于预设阈值和/或所述任务数量超过第一任务数量阈值时,根据所述第一通信任务的任务属性信息确定紧要度,以及,所述第一通信任务与所述第一通信通道的相关指数;

12、如果所述第一通信任务的紧要度低于预设等级和/或所述相关指数低于预设相关指数,则将所述第一通信任务移出第一任务队列中,而所述第一通信任务由从其他通信通道中按照第二策略筛选出的第二通信通道来传送;

13、否则,将所述第一通信任务保留在第一通信通道。

14、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

15、获取目标信息,其中目标信息包括其他通信通道的稳定性数值、其他通信通道与第一通信通道的相关系数、其他通信通道任务队列中的等待任务数及紧要度、其他通信通道通信任务数及繁忙等级;所述相关系数基于所述第一客户端发出的之前的历史通信任务跟所述第二客户端发出的之前的历史通信任务的相似度计算得到;

16、基于所述目标信息按照预设方法生成所述其他通信通道的可用度评分;所述预设方法包括加权求和;

17、从所述待处理的第一任务队里中的任务数量小于所述其他通信通道对应的任务队列中的任务数量阈值的所有其他通信通道中,选取所述相关系数大于预设关系值的其他通信通道作为候选通信通道;

18、从所述可用度评分最高的候选通信通道中选取状态不忙的通信通道为第二通信通道。

19、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

20、在通过第二策略筛选其他通信通道作为候选通信通道的步骤时,遍历候选通信通道的数量;

21、如果所述候选通信通道数量等于0,则停止寻找第二通信通道,将第一通信任务保留在第一任务队列中;

22、如果所述候选通信通道数量等于1,判断所述候选通信通道是否繁忙,在所述候选通信通道不忙时,将所述候选通信通道确定为第二通信通道;

23、如果所述候选通信通道数量大于1,判断所述候选通信通道是否繁忙,在所述候选通信通道不忙时,根据所述第二策略从不忙的候选通信通道中将所述可用度评分最高的候选通信通道确定为第二通信通道。

24、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

25、获取所述候选通信通道的日志信息;

26、解析所述候选日志信息,得到所述其他通信通道的分发任务成功率、丢包率以及其他反映候选通信通道性能和稳定性优劣度的参数;

27、根据所述其他通信通道的分发任务成功率、丢包率以及反映候选通信通道性能和稳定性优劣度的参数,计算得到所述候选通信通道的稳定性数值。

28、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

29、在将所述第一通信任务发送至第二通信通道的待处理任务队列后,获取所述待处理任务的任务属性信息,根据属性信息中的任务重要等级以及任务紧急程度,对待处理任务进行优先级排序,得到任务排序列表;其中,所述优先级别与所述待处理任务的任务等级和/或紧急程度正相关;

30、第二通信通道根据所述任务排序列表对待处理任务进行分发。

31、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

32、在将所述第一通信任务发送至筛选出的第二通信通道的待处理的第二任务队列步骤后,解析所述待处理任务中的任务来源标识,根据所述任务来源标识为所述待处理任务添加级别标记,得到甲类任务和乙类任务,其中任务来源为第二通信通道的通信任务将被标记为甲类任务;而任务来源标识不是第二通信通道的通信任务,则标识为乙类任务;

33、第二通信通道根据第二任务队列中每个任务的任务级别标记向服务端分发甲类任务以及乙类任务;其中,甲类任务的分发优先级高于乙类任务,比乙类任务更优先进入第二通信通道。

34、在本技术的一些实施例中,所述终端进程通信处理方法还包括:

35、第二通信通道根据第二任务队列中每个任务的任务级别标记向服务端分发甲类任务以及乙类任务步骤之前,解析所述甲类任务以及所述乙类任务重的任务紧要度标识,根据所述任务紧要度标识分别为所述甲类任务以及乙类任务添加紧要度标记;

36、识别所述乙类任务中的紧要度标记,如果所述紧要度标记超过紧要度阈值,则将所述乙类任务变更为甲类任务;

37、第二通信通道根据第二队列中每个任务的任务级别标记以及任务紧要度标记向服务端分发甲类任务以及乙类任务;其中所述优先级别与所述甲类任务和/或乙类任务紧要度正相关。

38、另一方面,本技术一些实施例中还公开一种终端,包括:

39、通信模块,被配置为与第一客户端建立通信连接;

40、处理模块,被配置为:

41、响应于第一客户端发送的第一通信请求,在所述第一通信请求中解析出第一通信任务;

42、获取负责所述第一客户端跟第一服务端之间通信的第一通信通道的繁忙等级;

43、如果所述第一通信通道的繁忙等级大于预设阈值,从其他通信通道中根据第二策略筛选第二通信通道,所述第二通信通道为所述其他通信通道中可用度评分最高且当前状态不忙的通信通道;所述第二通信通道为负责所述第二客户端跟所述第二服务端之间通信的通信通道;

44、将所述第一通信任务发送至第二通信通道的待处理第二任务队列,以使所述第二通信通道将所述第一通信任务发送至第一服务端。

45、由以上技术方案可知,本技术提供了一种终端进程通信处理方法,接收到第一客户端发送的通信请求后,获取负责第一客户端跟第一服务端之间通信的第一通信通道的繁忙等级,基于第一通信通道的繁忙等级判断第一通信通道是否拥堵;如果第一通信通道拥堵,从负责其他客户端跟服务端之间通信的通信通道中筛选可用度评分最高且正处于不忙状态的通信通道作为第二通信通道,以及,将第一客户端发出的第一通信请求发送给第二通信通道的待处理的任务队列,以使第二通信通道将所述第一通信请求对应任务最终发送至第一服务端。所述方法通过筛选与可用度评分最高且当前不忙的通信通道作为第二通信通道,通过第二通信通道将原应有第一通信通道传递的第一通信请求发送给第一通信通道对应的第一服务端以使该请求借由整个通信系统的资源自动协调得到快速高效的传输,解决单一通信通道遭遇通道繁忙或单个任务卡死导致整个通路效率低或堵死的系列恶性问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1