CN107688486A - 基于共享服务的串口共享方法、共享装置及存储介质 - Google Patents
基于共享服务的串口共享方法、共享装置及存储介质 Download PDFInfo
- Publication number
- CN107688486A CN107688486A CN201710689328.2A CN201710689328A CN107688486A CN 107688486 A CN107688486 A CN 107688486A CN 201710689328 A CN201710689328 A CN 201710689328A CN 107688486 A CN107688486 A CN 107688486A
- Authority
- CN
- China
- Prior art keywords
- serial ports
- client
- shared
- internal memory
- sub
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于共享服务的串口共享方法,该方法包括以下步骤:在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。本发明还公开了一种基于共享服务的串口共享装置以及计算机可读存储介质。本发明提供串口共享服务,通过分配串口的共享内存的子内存给客户端,用来单独传递不同客户端与同一串口的通讯数据,实现了多个应用程序共享同一串口。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于共享服务的串口共享方法、基于共享服务的串口共享装置以及计算机可读存储介质。
背景技术
在PC(Personal Computer,个人计算机)上运行的客户端程序与连接到该PC上的串口设备进行通讯时,通常该串口设备在实现某种功能时被映射成一个串口,该客户端程序在打开所述串口后将会独占该串口,导致其它的客户端程序无法共享使用该串口。而在目前金融业的自助机器中,一般都有2-3个应用在同时运行,有些设备厂商通过提供驱动程序虚拟出几个相同功能的串口,但是虚拟出来的端口数也比较固定,能够共享使用同一串口的客户端程序受到明确的限制。
发明内容
本发明的主要目的在于提供一种基于共享服务的串口共享方法、基于共享服务的串口共享装置以及计算机可读存储介质,旨在实现多个应用程序共享同一串口。
为实现上述目的,本发明提供一种基于共享服务的串口共享方法,所述基于共享服务的串口共享方法包括以下步骤:
在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
优选地,所述分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中之前,还包括:
判断所述客户端程序连接的串口是否打开;
在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
优选地,所述创建所述串口的共享内存的步骤包括:
提取所述串口的串口号;
根据所述串口的串口号,创建所述串口的共享内存。
优选地,所述打开所述串口,并创建所述串口的共享内存之后,还包括:
将所述打开的串口记录到已打开串口的列表中。
优选地,所述基于共享服务的串口共享方法还包括:
在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
优选地,所述基于共享服务的串口共享方法还包括:
在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
为实现上述目的,本发明还提供一种基于共享服务的串口共享装置,所述基于共享服务的串口共享装置包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于共享服务的串口共享程序,所述基于共享服务的串口共享程序被所述处理器执行时实现如上述基于共享服务的串口共享方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于共享服务的串口共享程序,所述基于共享服务的串口共享程序被处理器执行时实现如上述基于共享服务的串口共享方法的步骤。
本发明提供的基于共享服务的串口共享方法、基于共享服务的串口共享装置以及计算机可读存储介质,首先,在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中,然后,将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。通过分配串口的共享内存的子内存给客户端,用来单独传递不同客户端与同一串口的通讯数据,实现了多个应用程序共享同一串口。
附图说明
图1为本发明基于共享服务实现串口共享方法的示意图;
图2为串口被一个应用程序单独使用时,其他应用程序无法使用同一串口的示意图;
图3为本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图4为本发明基于共享服务的串口共享方法第一实施例的流程示意图;
图5为本发明基于共享服务的串口共享方法第二实施例的流程示意图;
图6为图3中步骤创建所述串口的共享内存的细化流程示意图;
图7为本发明基于共享服务的串口共享方法第三实施例的流程示意图;
图8为本发明基于共享服务的串口共享方法第四实施例的流程示意图;
图9为本发明基于共享服务的串口共享方法第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例的主要解决方案是:首先,在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中,然后,将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
如图2所示,由于现有技术中,一般计算机的串口设备在操作系统中是只能限制为1个应用程序控制,一旦某个程序打开了一个串口,其他应用程序便无法使用它。本发明提供一种基于共享服务的串口共享方法,通过分配串口的共享内存的子内存给客户端,用来单独传递不同客户端与同一串口的通讯数据,实现了多个应用程序共享同一串口。
如图3所示,图3是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例终端可以是PC,也可以是电视机、平板电脑、便携计算机等具有显示功能的可移动式终端设备。
如图3所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图3中示出的终端的结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于共享服务的串口共享程序。
在图3所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于共享服务的串口共享程序,并执行以下操作:
在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,处理器1001可以调用存储器1005中存储的基于共享服务的串口共享程序,还执行以下操作:
判断所述客户端程序连接的串口是否打开;
在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
进一步地,处理器1001可以调用存储器1005中存储的基于共享服务的串口共享程序,还执行以下操作:
提取所述串口的串口号;
根据所述串口的串口号,创建所述串口的共享内存。
进一步地,处理器1001可以调用存储器1005中存储的基于共享服务的串口共享程序,还执行以下操作:
将所述打开的串口记录到已打开串口的列表中。
进一步地,处理器1001可以调用存储器1005中存储的基于共享服务的串口共享程序,还执行以下操作:
在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,处理器1001可以调用存储器1005中存储的基于共享服务的串口共享程序,还执行以下操作:
在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
参照图4,在一实施例中,所述基于共享服务的串口共享方法包括:
步骤S10、在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
本实施例中,串口,或称串行端口,主要用于串列式逐位元数据传输。常见的为一般电脑应用的RS-232(使用25针或者9针连接器),工业电脑应用的半双工RS-485与全双工RS-422。
本实施例中,在客户端与串口进行数据通信之前,建立客户端与共享服务之间数据连接。当新增加的客户端使用同一串口时,不论新增加的客户端数量,均需要与共享服务建立数据连接。在客户端程序有打开串口请求时,判断串口是否打开。当新增加客户端有打开串口请求时,也要判断串口是否打开,即每次有客户端有打开串口请求时,均需要判断串口是否打开。
本实施例中,实现的主体是串口共享服务,共享服务为每一个打开的串口创建共享内存,在至少两个客户端向同一个串口发送指令数据时,共享内存分配该串口的共享内存的子内存给每个客户端,用于传输指令数据。需要说明的是,指令数据是以线程的方式运行,从而保证一收一发,各个客户端的指令数据的传输互不干扰。需要说明的是,指令数据可以是发送短信、呼叫等。比如,数据卡在连接到电脑上时被映射为一个串口,在客户端A和客户端B同时使用同一个数据卡时,即客户端A和客户端B同时使用同一个串口,客户端A发出的指令数据为发送短信,客户端B发出的指令数据为呼叫,这时共享服务分别分配子内存给客户端A和客户端B,这样,客户端A发送的指令数据存入客户端A的子内存中,客户端B发送的数据存入客户端B的子内存中,如果这时有客户端C发出指令数据,那么共享服务分配子内存给客户端C,并将客户端C发送的指令数据存入客户端C的子内存中。需要说明的是,连接同一串口的客户端数量不受限制。
本实施例中,共享服务是通过SDK(Software Development Kit,软件开发工具包)来实现的。SDK为驱动提供常用的标准函数,驱动直接调用,这样,串口资源被共享服务统一管理。需要说明的是,SDK是用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
步骤S20、将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
本实施例中,客户端将指令数据发送给共享服务,共享服务将指令数据存入该客户端的子内存中,然后将指令数据发送至串口,串口根据指令数据执行相应的操作,并将操作后的响应数据存入该客户端的子内存中,共享服务将响应数据返回至该客户端。需要说明的是,不同的客户端有不同的响应数据。比如,数据卡在连接到电脑上时被映射为一个串口,在客户端A和客户端B同时使用同一个数据卡时,即客户端A和客户端B同时使用同一个串口,客户端A发出的指令数据为发送短信,客户端B发出的指令数据为呼叫,那么,存入客户端A的子内存的响应数据可能是发送短信成功或者发送短信失败,存入客户端B的子内存的的响应数据可能是呼叫成功或者呼叫失败。共享服务将响应数据返回至子内存对应的客户端。比如,客户端A在接收到发送短信成功的响应数据时,便可知道短信成功发送,客户端B在接收到呼叫失败的响应数据时,便可知道暂时呼叫不通。
在本实施例中,首先,在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中,然后,将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。这样,通过分配串口的共享内存的子内存给客户端,用来单独传递不同客户端与同一串口的通讯数据,实现了多个应用程序共享同一串口。
在一实施例中,如图5所示,在上述图4所示的实施例基础上,所述分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中之前,还包括:
步骤S30、判断所述客户端程序连接的串口是否打开;
本实施例中,在接收客户端发送的指令数据时,判断串口是否打开。当接收新增加的客户端发送的指令数据时,也要判断串口是否打开。即每次有客户端发送指令数据时,均需要判断串口是否打开。
步骤S40、在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
本实施例中,当串口关闭时,则打开该串口,并创建该串口专属的共享内存。需要说明的是,本发明的实现的主体是串口共享服务,共享服务为每一个打开的串口创建共享内存,在客户端向串口发送指令数据时,共享内存分配该串口的共享内存的子内存给客户端,用于传输指令数据。
本实施例中,首先,判断所述客户端程序连接的串口是否打开,然后,在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。这样,在串口打开时,即创建串口专属的共享内存,并分配子内存给使用同一串口的不同客户端,从而实现各个客户端的指令数据的传输互不干扰。
在一实施例中,如图6所示,在上述图5所示的实施例基础上,所述创建所述串口的共享内存的步骤包括:
步骤S401、提取所述串口的串口号;
步骤S402、根据所述串口的串口号,创建所述串口的共享内存。
本实施例中,利用串口的串口号的独特性,创建专属于该串口的共享内存。这样,在共享服务中有不同串口的共享内存,而在不同串口的共享内存中又有不同客户端的子内存,这样,既可以实现不同串口的指令数据互不干扰,也可以实现多个客户端共享同一串口时指令数据互不干扰。比如,客户端A使用串口A,客户端B、客户端C使用串口B,客户端A与串口A、客户端B与串口B、客户端C与串口B之间的数据交互都是以线程的方式运行,互不干扰。
在本实施例中,首先,提取所述串口的串口号,然后,根据所述串口的串口号,创建所述串口的共享内存。这样,实现共享服务统一管理串口资源,从而实现多个客户端共享同一串口,并且各个客户端与串口的数据交互互不干扰。
在一实施例中,如图7所示,在上述图6所示的实施例基础上,所述打开所述串口,并创建所述串口的共享内存之后,还包括:
步骤S50、将所述打开的串口记录到已打开串口的列表中。
本实施例中,当串口关闭时,则打开该串口,创建该串口专属的共享内存,并且将打开的串口记录到已打开串口的列表中。比如,在串口关闭时,共享服务接收到客户端A发送的指令数据,由于客户端A是第一个请求打开该串口的客户端,则打开该串口,创建该串口的共享内存,并将该串口记录到已打开串口列表中。当共享服务接收到客户端B发送的指令数据时,此时串口已打开,不必再执行打开串口、创建串口的共享内存、将串口记录到已打开串口列表中的操作。
在本实施例中,将所述打开的串口记录到已打开串口的列表中。这样,在串口被第一个客户端打开后,其它使用同一串口的客户端不用再执行打开串口的操作。
在一实施例中,如图8所示,在上述图7所示的实施例基础上,所述基于共享服务的串口共享方法还包括:
步骤S60、在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
步骤S70、在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
步骤S80、将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
本实施例中,在已打开串口列表中记录该串口时,说明该串口是打开的。比如,客户端A第一个打开该串口后,客户端B只需判断已打开串口列表中是否有该串口,在有该串口时,共享服务直接分配共享内存的子内存给客户端B,客户端B则利用该子内存与串口进行数据通讯。
在本实施例中,首先,在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口,然后,在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中,最后,将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。这样,在串口被第一个客户端打开后,其它使用同一串口的客户端不用再执行打开串口的操作。
在一实施例中,如图9所示,在上述图8所示的实施例基础上,所述基于共享服务的串口共享方法还包括:
步骤S90、在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
步骤S100、删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
本实施例中,在检测到所有连接该串口的客户端关闭时,才能关闭串口,并删除该串口的共享内存以及已打开串口列表中记录的串口。比如,在客户端A、客户端B、客户端C同时使用该串口时,在检测到客户端A、客户端B依次关闭,这时不删除客户端A、客户端B的子内存以及已打开串口列表中记录的该串口,直至客户端C关闭,且检测到无其它客户端连接该串口时,这时关闭串口,并删除该串口的共享内存以及已打开串口列表中记录的串口。在客户端程序A发送指令数据时,再次打开串口,创建该串口的共享内存,并分配子内存给客户端A,并将该串口记录到已打开串口的列表中。
在本实施例中,首先,在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口,然后,删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。这样,不仅节省了内存空间,而且保证每一个客户端与串口的流畅通讯。
本发明还提供一种基于共享服务的串口共享装置,所述基于共享服务的串口共享装置包括:基于共享服务的串口共享程序,所述基于共享服务的串口共享程序配置为实现如下操作:
在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,所述基于共享服务的串口共享程序配置为实现如下操作:
判断所述客户端程序连接的串口是否打开;
在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
进一步地,所述基于共享服务的串口共享程序配置为实现如下操作:
提取所述串口的串口号;
根据所述串口的串口号,创建所述串口的共享内存。
进一步地,所述基于共享服务的串口共享程序配置为实现如下操作:
将所述打开的串口记录到已打开串口的列表中。
进一步地,所述基于共享服务的串口共享程序配置为实现如下操作:
在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,所述基于共享服务的串口共享程序配置为实现如下操作:
在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
本发明提供的基于共享服务的串口共享装置,首先,在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中,然后,将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。这样,通过分配串口的共享内存的子内存给客户端,用来单独传递不同客户端与同一串口的通讯数据,实现了多个应用程序共享同一串口。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于共享服务的串口共享程序,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
判断所述客户端程序连接的串口是否打开;
在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
进一步地,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
提取所述串口的串口号;
根据所述串口的串口号,创建所述串口的共享内存。
进一步地,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
将所述打开的串口记录到已打开串口的列表中。
进一步地,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
进一步地,所述基于共享服务的串口共享程序被处理器执行实现如下操作:
在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于共享服务的串口共享方法,其特征在于,所述基于共享服务的串口共享方法包括以下步骤:
在串口打开,且接收客户端发送的指令数据时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
2.如权利要求1所述的基于共享服务的串口共享方法,其特征在于,所述分配串口共享内存的子内存给所述客户端,并将所述客户端发送的指令数据存入所述子内存中之前,还包括:
判断所述客户端程序连接的串口是否打开;
在所述客户端程序连接的串口关闭时,则打开所述串口,并创建所述串口的共享内存。
3.如权利要求2所述的基于共享服务的串口共享方法,其特征在于,所述创建所述串口的共享内存的步骤包括:
提取所述串口的串口号;
根据所述串口的串口号,创建所述串口的共享内存。
4.如权利要求2所述的基于共享服务的串口共享方法,其特征在于,所述打开所述串口,并创建所述串口的共享内存之后,还包括:
将所述打开的串口记录到已打开串口的列表中。
5.如权利要求4所述的基于共享服务的串口共享方法,其特征在于,所述基于共享服务的串口共享方法还包括:
在接收所述客户端程序发送的指令数据时,判断所述已打开串口列表中是否有所述串口;
在有所述串口时,分配串口共享内存的子内存给所述客户端,并将所述客户端发送的所述指令数据存入所述子内存中;
将所述指令数据发送至所述串口,并在监控到所述子内存中存入所述响应数据时,将所述响应数据返回至所述子内存对应的所述客户端程序。
6.如权利要求5所述的基于共享服务的串口共享方法,其特征在于,所述基于共享服务的串口共享方法还包括:
在检测到所有连接所述串口的所述客户端程序关闭时,关闭所述串口;
删除所述串口的共享内存以及所述已打开串口列表中记录的所述串口。
7.一种基于共享服务的串口共享装置,其特征在于,所述基于共享服务的串口共享装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于共享服务的串口共享程序,所述基于共享服务的串口共享程序被所述处理器执行时实现如权利要求1至6中任一项所述的基于共享服务的串口共享方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于共享服务的串口共享程序,所述基于共享服务的串口共享程序被处理器执行时实现如权利要求1至6中任一项所述的基于共享服务的串口共享方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710689328.2A CN107688486A (zh) | 2017-08-10 | 2017-08-10 | 基于共享服务的串口共享方法、共享装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710689328.2A CN107688486A (zh) | 2017-08-10 | 2017-08-10 | 基于共享服务的串口共享方法、共享装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107688486A true CN107688486A (zh) | 2018-02-13 |
Family
ID=61153293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710689328.2A Pending CN107688486A (zh) | 2017-08-10 | 2017-08-10 | 基于共享服务的串口共享方法、共享装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688486A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067794A (zh) * | 2007-06-14 | 2007-11-07 | 中兴通讯股份有限公司 | 多核处理器及其串口复用方法 |
CN101699421A (zh) * | 2009-10-28 | 2010-04-28 | 深圳华为通信技术有限公司 | 串口共享的方法和服务端 |
CN101751291A (zh) * | 2009-12-30 | 2010-06-23 | 广东威创视讯科技股份有限公司 | 应用程序共享同一串口的方法与装置 |
CN102884515A (zh) * | 2012-06-30 | 2013-01-16 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
CN104965808A (zh) * | 2015-07-07 | 2015-10-07 | 力合科技(湖南)股份有限公司 | 用于实现串口复用的装置以及串口复用的方法 |
-
2017
- 2017-08-10 CN CN201710689328.2A patent/CN107688486A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067794A (zh) * | 2007-06-14 | 2007-11-07 | 中兴通讯股份有限公司 | 多核处理器及其串口复用方法 |
CN101699421A (zh) * | 2009-10-28 | 2010-04-28 | 深圳华为通信技术有限公司 | 串口共享的方法和服务端 |
CN101751291A (zh) * | 2009-12-30 | 2010-06-23 | 广东威创视讯科技股份有限公司 | 应用程序共享同一串口的方法与装置 |
CN102884515A (zh) * | 2012-06-30 | 2013-01-16 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
WO2014000299A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
CN104965808A (zh) * | 2015-07-07 | 2015-10-07 | 力合科技(湖南)股份有限公司 | 用于实现串口复用的装置以及串口复用的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200351659A1 (en) | Voice control and telecommunications service integration | |
RU2380742C2 (ru) | Автоматическая персонализация или конфигурирование мобильных устройств | |
US20080282314A1 (en) | Firewall with policy hints | |
EP1966715A2 (en) | Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling | |
CN105379224B (zh) | 基于移动计算设备之间的电话呼叫来管理数据通信 | |
US9712621B1 (en) | Information sharing endpoint | |
US11736611B2 (en) | Visual engagement using automatically dynamically selected visualization mediums | |
WO2008011475A2 (en) | Methods and apparatuses for selecting privileges for use during a data collaboration session | |
US20210096979A1 (en) | Client automated transaction testing portal | |
US20210185740A1 (en) | Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network | |
CN105930249B (zh) | 应用监控方法和装置 | |
US20230283598A1 (en) | Message Authenticated Communication Sessions | |
CN110111069A (zh) | 业务办理方法、服务器及存储介质 | |
GB2525490A (en) | Connection of persons and things via mobile messaging privacy/security broker system | |
US20240223694A1 (en) | Interface display method and electronic device | |
CN109889468A (zh) | 网络数据的传输方法、系统、装置、设备及存储介质 | |
CN105812450B (zh) | 桌面共享方法和系统 | |
CN107688486A (zh) | 基于共享服务的串口共享方法、共享装置及存储介质 | |
CN108696864A (zh) | 虚拟号码请求和发送方法、装置及存储介质 | |
CN114760259B (zh) | 离线消息发送方法、装置、电子设备及可读存储介质 | |
US7403605B1 (en) | System and method for local replacement of music-on-hold | |
CN106062769A (zh) | 管理系统、程序和管理方法 | |
US8645547B1 (en) | Methods and systems for providing a messaging service | |
KR102341022B1 (ko) | 컨퍼런스 시스템 및 상기 시스템에서의 컨퍼런스 접속 처리 방법 | |
CN110493473A (zh) | 来电显示的方法、设备和计算机存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180213 |
|
RJ01 | Rejection of invention patent application after publication |