CN107688486A - 基于共享服务的串口共享方法、共享装置及存储介质 - Google Patents

基于共享服务的串口共享方法、共享装置及存储介质 Download PDF

Info

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
Application number
CN201710689328.2A
Other languages
English (en)
Inventor
谢碧清
何浪
夏杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhengtong Electronics Co Ltd
Original Assignee
Shenzhen Zhengtong Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhengtong Electronics Co Ltd filed Critical Shenzhen Zhengtong Electronics Co Ltd
Priority to CN201710689328.2A priority Critical patent/CN107688486A/zh
Publication of CN107688486A publication Critical patent/CN107688486A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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中任一项所述的基于共享服务的串口共享方法的步骤。
CN201710689328.2A 2017-08-10 2017-08-10 基于共享服务的串口共享方法、共享装置及存储介质 Pending CN107688486A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475318A (zh) * 2020-04-29 2020-07-31 中国人民解放军军事科学院国防科技创新研究院 一种支持多用户访问的串口通信装置、方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
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 力合科技(湖南)股份有限公司 用于实现串口复用的装置以及串口复用的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) Автоматическая персонализация или конфигурирование мобильных устройств
US9124629B1 (en) Using secure connections to identify systems
CN103294559B (zh) 移动终端的应用交互方法和系统
CN106789153A (zh) 物联网系统终端设备的多渠道自适应日志记录、输出方法及系统
US20080282314A1 (en) Firewall with policy hints
EP1966715A2 (en) Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling
US10284670B1 (en) Network-controlled device management session
US9712621B1 (en) Information sharing endpoint
US11115532B2 (en) Visual engagement using automatically dynamically selected visualization mediums
CN107622771A (zh) 家电设备及其控制方法、系统及计算机可读存储介质
WO2008011475A2 (en) Methods and apparatuses for selecting privileges for use during a data collaboration session
US10939480B2 (en) Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network
US20210096979A1 (en) Client automated transaction testing portal
CN105930249B (zh) 应用监控方法和装置
US11949669B2 (en) Message authenticated communication sessions
CN110111069A (zh) 业务办理方法、服务器及存储介质
US20240223694A1 (en) Interface display method and electronic device
CN109889468A (zh) 网络数据的传输方法、系统、装置、设备及存储介质
CN107688486A (zh) 基于共享服务的串口共享方法、共享装置及存储介质
US20030187869A1 (en) Plug-in API for modulcar network transaction processing
CN108696864A (zh) 虚拟号码请求和发送方法、装置及存储介质
KR102341022B1 (ko) 컨퍼런스 시스템 및 상기 시스템에서의 컨퍼런스 접속 처리 방법
US8280977B2 (en) Automatic data transfer using an intermediate device
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