软件架构中层级间的通信方法及装置制造方法及图纸

技术编号:19388756 阅读:26 留言:0更新日期:2018-11-10 01:58
本申请实施例中公开了一种软件架构中层级间的通信方法及装置。在同一独立软件架构的层级间采用不同种计算机编程语言时,通过指令的通信方式代替了传统的函数调用方式,在接收第二软件层的第二请求指令后,基于预设编码协议,对第二请求指令进行解码,得到第一请求指令,并执行第一请求指令,其中,第二请求指令为第二软件层采用预设编码协议,对第一请求指令进行编码得到的,第一请求指令是由用户触发的,第二请求指令包括第一软件层的标识。可见,该方案实现了同一独立软件架构中各个软件层的独立运行和开发,避免了层级间计算机编程语言不兼容的问题。

Communication method and device between levels in software architecture

The application embodiment discloses a communication method and device between layers in software architecture. When different computer programming languages are used at different levels of the same independent software architecture, the traditional function call mode is replaced by the communication mode of instructions. After receiving the second request instruction of the second software layer, the second request instruction is decoded based on the preset coding protocol, and the first request instruction is obtained and executed. The first request instruction, in which the second request instruction is encoded by the preset coding protocol in the second software layer. The first request instruction is triggered by the user, and the second request instruction includes the identification of the first software layer. It can be seen that the scheme realizes the independent operation and development of each software layer in the same independent software architecture, and avoids the incompatibility of computer programming languages among different levels.

【技术实现步骤摘要】
软件架构中层级间的通信方法及装置
本申请涉及医疗器械
,尤其涉及一种软件架构中层级间的通信方法及装置。
技术介绍
目前,各个领域都涉及软件架构设计,如医疗器械领域。医疗器械领域中的血液分析仪、免疫分析仪等仪器在软件架构设计过程中会根据整个仪器中各个业务应用的需求不同,将整个业务应用划分为不同的功能层级,成为分层式的软件架构。通用的分层式软件架构一般为三层架构,如图1所示,包括用户界面层、业务逻辑层和核心处理层。用户界面层用于完成用户交互以及用户指令触发;业务逻辑层用于各种业务操作和业务规则处理;核心处理层用于访问数据库,针对数据进行增添、删除、修改、查找等。在同一独立软件架构中的每一软件层,其功能相对独立和单一,且实现方式趋于代码多元化,如用户界面层的实现可以选用面向对象编程语言C#、JAVA等计算机编程语言,业务逻辑层的实现可以选用C++、C、JAVA等计算机编程语言等。通用的软件架构中,大部分软件层级之间的数据交互(或称层级间通信)需要通过函数调用来实现,该方式逻辑简单,便于理解。然而,为了避免由计算机编程语言造成的函数接口不兼容问题,上述架构中软件层级间一般需要采用同种计算机编程语言,使得软件层级之间存在不可分割的代码耦合性,以实现函数调用,但这种方式限制了软件层的可扩展性和独立性。
技术实现思路
本申请实施例提供一种软件架构中层级间的通信方法及装置,用于在同一独立软件架构的层级间采用不同种计算机编程语言时,实现各个软件层的独立运行和开发,避免了层级间计算机编程语言不兼容的问题。第一方面,提供了一种软件架构中层级间的通信方法,该方法应用于独立软件架构内的第一软件层,该方法可以包括:接收该独立软件架构内第二软件层的第二请求指令,第二请求指令为第二软件层采用预设编码协议,对第一请求指令进行编码得到的,第一请求指令是由用户触发的,第二请求指令包括第一软件层的标识;基于预设编码协议,对第二请求指令进行解码,得到第一请求指令;执行第一请求指令。在一个可选的实现中,接收第二软件层的第二请求指令,包括:从预设文档中读取第二软件层写入的所述第二请求指令。在一个可选的实现中,接收第二软件层的第二请求指令,包括:从预设第三方应用中获取第二请求指令,第二请求指令为第二软件层向第三方应用发送的。在一个可选的实现中,接收第二软件层的第二请求指令之前,该方法还包括:与第二软件层建立通信连接;通过通信连接中的套接字链路,接收第二软件层的第二请求指令。在一个可选的实现中,当第一请求指令为获取请求数据的请求指令时,该方法还包括:基于第一请求指令,获取请求数据;向第二软件层发送请求数据。第二方面,提供了一种通信装置,该装置位于独立软件架构内,该装置可以包括:接收单元,用于接收该独立软件架构内第二软件层的第二请求指令,第二请求指令为第二软件层采用预设编码协议,对第一请求指令进行编码得到的,第一请求指令是由用户触发的,第二请求指令包括第一软件层的标识;解码单元,用于基于预设编码协议,对第二请求指令进行解码,得到第一请求指令;执行单元,用于执行第一请求指令。在一个可选的实现中,接收单元,具体用于从预设文档中读取第二软件层写入的第二请求指令。在一个可选的实现中,接收单元,具体用于从预设第三方应用中获取第二请求指令,第二请求指令为第二软件层向第三方应用发送的。在一个可选的实现中,该装置还包括通信单元;通信单元,用于与第二软件层建立通信连接;通过通信连接中的套接字链路,接收第二软件层的第二请求指令。在一个可选的实现中,该装置还包括获取单元;获取单元,用于基于第一请求指令,获取请求数据;通信单元,还用于向第二软件层发送请求数据。第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。本专利技术上述实施例在同一独立软件架构的层级间采用不同种计算机编程语言时,通过指令的通信方式代替了传统的函数调用方式,在接收第二软件层的第二请求指令,第二请求指令为第二软件层采用预设编码协议,对第一请求指令进行编码得到的,第一请求指令是由用户触发的,第二请求指令包括第一软件层的标识,基于预设编码协议,对第二请求指令进行解码,得到第一请求指令,并执行第一请求指令,可见,该方案实现了同一独立软件架构中各个软件层的独立运行和开发,避免了层级间计算机编程语言不兼容的问题。附图说明图1为现有技术提供的一种通用的分层式软件架构的结构示意图;图2为本专利技术实施例提供的一种软件架构中层级间的通信方法的流程示意图;图3为本专利技术实施例提供的第一软件层接收第二软件层的第二请求指令的一种方式;图4为本专利技术实施例提供的第一软件层接收第二软件层的第二请求指令的另一种方式;图5为本专利技术实施例提供的第一软件层接收第二软件层的第二请求指令的再一种方式;图6为本专利技术实施例提供的另一种软件架构中层级间的通信方法的流程示意图;图7为本专利技术实施例提供的一种通信装置的结构示意图;图8为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。当本专利技术提及“第一”、“第二”、“第三”或者“第四”等序数词时,除非根据上下文其确实表达顺序之意,否则应当理解为仅是起区分之用。本专利技术实施例提供的软件架构中层级间的通信方法可以应用在软件客户端/服务器(Client/Server,CS)模型中,按照整个业务应用的需求不同,该软件架构包括至少三个软件层。其中,软件层间的通信为当前软件层与待通信软件层中服务器间的通信。按照每个软件层包含的服务器(Server)个数,可以设计:单Server的C/S通信方案和多Server的C/S通信方案。在单Server的C/S通信方案中,每个软件层只设置一个Server,所有外部数据均通过一个Server转发。在多Server的C/S通信方案中,每个软件层针对不同的外部数据设置相应数量个Server。需要说明的是,可以根据不同的功能环境或数据量大小等因素,确定目标方案是上述单Server的C/S通信方案,还是多Server的C/S通信方案。传统医疗仪器的软件架构中层级间一般采用同种计算机编程语言,以避免层级间的计算机编程语言不兼容的问题,然而这种方式限制了软件层的可扩展性和独立性。基于所有计算机编程语言都支持网络接口编程,本专利技术实施例利用网络接口编程(即socket通信协议)的通用性,解决同一独立软件架构中至少三个软件层间计算机编程语言的不兼容的问题,即软件架构中层级间的通信不再调用相应的函数接口,而是通过网络套接字socket的数据交互,以达到层级间的相互通信,使软件层具有可扩展性和独立性。本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种软件架构中层级间的通信方法,其特征在于,所述方法应用于独立软件架构内的第一软件层,所述方法包括:接收所述独立软件架构内第二软件层的第二请求指令,所述第二请求指令为所述第二软件层采用预设编码协议,对第一请求指令进行编码得到的,所述第一请求指令是由用户触发的,所述第二请求指令包括所述第一软件层的标识;基于所述预设编码协议,对所述第二请求指令进行解码,得到所述第一请求指令;执行所述第一请求指令。

【技术特征摘要】
1.一种软件架构中层级间的通信方法,其特征在于,所述方法应用于独立软件架构内的第一软件层,所述方法包括:接收所述独立软件架构内第二软件层的第二请求指令,所述第二请求指令为所述第二软件层采用预设编码协议,对第一请求指令进行编码得到的,所述第一请求指令是由用户触发的,所述第二请求指令包括所述第一软件层的标识;基于所述预设编码协议,对所述第二请求指令进行解码,得到所述第一请求指令;执行所述第一请求指令。2.如权利要求1所述的方法,其特征在于,所述接收第二软件层的第二请求指令,包括:从预设文档中读取所述第二软件层写入的所述第二请求指令。3.如权利要求1所述的方法,其特征在于,所述接收第二软件层的第二请求指令,包括:从预设第三方应用中获取第二请求指令,所述第二请求指令为所述第二软件层向所述第三方应用发送的。4.如权利要求1-3任一项所述的方法,其特征在于,接收第二软件层的第二请求指令之前,所述方法还包括:与所述第二软件层建立通信连接;通过所述通信连接中的套接字链路,接收所述第二软件层的第二请求指令。5.如权利要求4所述的方法,其特征在于,当所述第一请求指令为获取请求数据的请求指令时,所述方法还包括:基于所述第一请求指令,获取请求数据;向所述第二软件层发送所述请求数据。6.一种通信装置,其特征在于,所述装置位于独立软件架构内,所述装置包括:接收单元、解码单元、执行单元接收单元,用于接收所述独立软件架构内第二软件层的第二请求指令,所述第二请求指令为所述第二软件层采...

【专利技术属性】
技术研发人员:杨程
申请(专利权)人:迈克医疗电子有限公司
类型:发明
国别省市:四川,51

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

1