CN102739391B - 基于异步通信实现同步命令的方法 - Google Patents
基于异步通信实现同步命令的方法 Download PDFInfo
- Publication number
- CN102739391B CN102739391B CN201210192816.XA CN201210192816A CN102739391B CN 102739391 B CN102739391 B CN 102739391B CN 201210192816 A CN201210192816 A CN 201210192816A CN 102739391 B CN102739391 B CN 102739391B
- Authority
- CN
- China
- Prior art keywords
- buffer zone
- reception buffer
- command
- synch command
- condition
- 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.)
- Active
Links
Abstract
本发明公开了一种基于异步通信实现同步命令的方法,包括步骤:创建同步命令通道、接收响应服务和同步命令通道检测服务,接收响应服务循环等待接收异步的命令响应,接收到响应命令后存到临时接收缓冲区;通过同步命令通道发送同步命令或心跳检测命令,获取空闲接收缓冲区索引,设置条件等待阻塞;取出存到临时接收缓冲区的数据,并根据索引查找对应接收缓冲区,将取出的数据写入对应接收缓冲区并设置唤醒条件;若满足唤醒条件,同步命令或心跳检测命令条件阻塞被唤醒,并从对应接收缓冲区接收数据。本发明具有并发性、高效率、安全性、冗余性且便于管理,能满足通信设备大批量、并行、可靠安全的配置管理。
Description
技术领域
本发明涉及配置命令的通信方式,特别是涉及一种基于异步通信实现同步命令的方法。
背景技术
为了实现与远方亲人的沟通,古人曾幻想有一副“顺风耳”。1876年,美国人贝尔发明了电话,电话的发明,使得梦想成为现实。1878年,美国人设计制造了世界上第一台人工交换机。1892年,美国人史端乔发明了世界上首台自动电话交换机。随着科学技术的发展,在二十世纪二十年代,人类又发明了纵横制电话交换机、电子交换机等,进一步提高了通信的可靠性。六十年代以来,由于PCM(pulse codemodulation,脉冲编码调制)技术的出现,引发了通信发展史上的“数字革命”,人类通信进入了“数字时代”。法国人于1970年发明了数字程控交换机,标志着通信技术达到了一个新的高度。
进入二十世纪九十年代,由于光通信技术的日益成熟及微电子技术的迅速发展,使通信技术有了突飞猛进的发展。以因特网为代表的新技术革命正在深刻地改变着传统的电信概念和体系。移动通信从第一代模拟制式发展到第二代数字制式,并即将进入第三代宽带制式。
但是通信是建立在大量的通信设备的基础上的,而这些通信设备需要进行配置管理,配置管理又会用到一些通信方式,传统的进行配置管理的通信方式是用同步通信的方式实现的,它的缺点是不能实现配置管理的并行处理,并且安全性和稳定性不好,也没有冗余。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于异步通信实现同步命令的方法,具有并发性、高效率、安全性、冗余性且便于管理,能满足通信设备大批量、并行、可靠安全的配置管理。
本发明提供的基于异步通信实现同步命令的方法,包括以下步骤:A、创建同步命令通道;B、创建接收响应服务;C、创建同步命令通道检测服务;D、通过同步命令通道发送同步命令或心跳检测命令,获取空闲的接收缓冲区索引,并设置条件等待阻塞;E、接收响应服务取出存储到临时接收缓冲区中的数据,并根据索引查找对应的接收缓冲区,将取出的数据写入到对应的接收缓冲区中,并设置唤醒条件;F、判定等待条件满足唤醒条件时,同步命令或心跳检测命令条件阻塞被唤醒,并从对应索引的接收缓冲区接收数据。
在上述技术方案中,步骤A中所述同步命令通道的创建包括通信目的地址信息、通道发送缓冲、通道互斥锁、通道状态信息的创建。
在上述技术方案中,步骤A中创建同步命令通道后,所述同步命令通道的状态为打开状态。
在上述技术方案中,步骤C中所述同步命令通道检测服务用于发送心跳命令检测同步命令通道是打开状态还是关闭状态。
在上述技术方案中,步骤B中所述接收响应服务循环等待接收异步的命令响应,接收到响应命令数据后存储到临时接收缓冲区中。
在上述技术方案中,步骤F以后还包括步骤:判定等待条件不满足唤醒条件时,超过一定时间后,同步命令或心跳检测命令条件进入超时处理。
在上述技术方案中,所述接收缓冲区的获取流程如下:假设当前的接收缓冲区有8个可用空间,同时发送8条命令同时获取8个接收缓冲区索引,接收缓冲空闲;当接收缓冲区收到8条命令行,再发送一条命令就获取不了接收缓冲区索引,接收缓冲无空闲;当8条命令中的5条回响应后,接收缓冲区空闲;发送1条命令获取接收缓冲区索引,接收缓冲区空闲。
与现有技术相比,本发明的优点如下:
本发明具有并发性、高效率、安全性、冗余性,并且便于管理,能满足通信设备大批量、并行、可靠安全的配置管理。
附图说明
图1是本发明实施例的方法流程图。
图2是本发明实施例中接收缓冲区获取的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种基于异步通信实现同步命令的方法,包括以下步骤:
A、创建一个同步命令通道,同步命令通道的创建包括通信目的地址信息、通道发送缓冲、通道互斥锁、通道状态等信息的创建,创建后同步命令通道的状态为打开状态;
B、创建一个接收响应服务,接收响应服务循环等待接收异步的命令响应,接收到响应命令数据后会把它存储到一个临时的接收缓冲区中;
C、创建一个同步命令通道检测服务,用于在同步命令通道被创建后并且状态为打开状态时,检测同步命令通道的状态;
D、通过同步命令通道发送同步命令或心跳检测命令,获取空闲的接收缓冲区索引,并设置条件等待阻塞;
E、接收响应服务取出存储到临时接收缓冲区中的数据,并根据索引查找对应的接收缓冲区,将取出的数据写入到对应索引的接收缓冲区中,并设置唤醒条件;
F、判断等待条件是否满足唤醒条件,如果满足唤醒条件,同步命令或心跳检测命令条件阻塞被唤醒,并从对应索引的接收缓冲区接收数据;如果不满足唤醒条件,在超过一定时间后,同步命令或心跳检测命令进入超时处理。
参见图1所示,本发明实施例的实现流程具体包括以下步骤:
步骤101、创建一个同步命令通道,同步命令通道的创建包括通信的目的地址信息、通道发送缓冲、通道互斥锁、通道状态等信息的创建,同步命令通道创建后为打开状态;
步骤102、创建一个接收响应服务,接收响应服务会循环等待接收异步的命令响应,接收到响应命令数据后存储到一个临时接收缓冲区中;
步骤103、创建一个同步命令通道检测服务,用于在同步命令通道被创建后且为打开状态时,检测同步命令通道的状态;
步骤104、通过同步命令通道发送同步命令,再转到步骤106;
步骤105、通过同步命令通道发送心跳检测命令,再转到步骤106;
步骤106、获取空闲的接收缓冲区索引,并设置条件等待阻塞;
步骤107、接收响应服务取出存储到临时接收缓冲区中的数据,并根据索引查找对应的接收缓冲区;
步骤108、将取出的数据写入到找到的对应索引的接收缓冲区中,并设置唤醒条件;
步骤109、判断等待条件是否满足唤醒条件,如果满足唤醒条件,则转到步骤110;如果不满足唤醒条件,则转到步骤111;
步骤110、如果满足唤醒条件,同步命令或心跳检测命令条件阻塞被唤醒,并从对应索引的接收缓冲区接收数据;
步骤111、如果不满足唤醒条件,在超过一定时间后,同步命令或心跳检测命令就进入超时处理。
本发明利用异步通信多接收缓冲区的方式,可以实现多条命令同时并发,参见图2所示,接收缓冲区获取的流程如下:
步骤201、参见表1所示,当前的接收缓冲区有8个可用空间,这时可以同时发送8条命令,可以同时获取8个接收缓冲区索引,接收缓冲空闲。
表1、同时发送8条命令同时获取8个接收缓冲区索引
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
可用 | 可用 | 可用 | 可用 | 可用 | 可用 | 可用 | 可用 |
步骤202、参见表2所示,当接收缓冲区收到8条命令行,接收缓冲区的8个空间就不可用了,这时再发送一条命令就获取不了接收缓冲区索引,接收缓冲无空闲,需要等待空闲的可用空间。
表2、发送一条命令获取不了接收缓冲区索引
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
不可用 | 不可用 | 不可用 | 不可用 | 不可用 | 不可用 | 不可用 | 不可用 |
步骤203、参见表3所示,当步骤201中的8条命令中的5条回响应后,接收缓存区的1到5就为可用了,这时接收缓冲区就有空闲。
表3、接收到5条命令响应
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
可用 | 可用 | 可用 | 可用 | 可用 | 不可用 | 不可用 | 不可用 |
步骤204、参见表4所示,步骤202中的等待的命令就可以冲接收缓冲区的可用空间中获取到索引1,这时接收缓冲区的1就不可用了,接收缓冲区还是空闲。
表4、发送1条命令获取接收缓冲区索引
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
不可用 | 可用 | 可用 | 可用 | 可用 | 不可用 | 不可用 | 不可用 |
该接收缓冲区可以实现大量命令的并发,不会因为一条命令有问题而影响其它的命令的执行,申请人在新改版的AN5006-20的主控盘中用了该通信方式,可以移植和无缝的替代以前传统的同步通信实现的同步命令方法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (1)
1.一种基于异步通信实现同步命令的方法,其特征在于包括以下步骤:
A、创建同步命令通道,所述同步命令通道的创建包括通信目的地址信息、通道发送缓冲、通道互斥锁、通道状态信息的创建;创建同步命令通道后,所述同步命令通道的状态为打开状态;
B、创建接收响应服务,所述接收响应服务循环等待接收异步的命令响应,接收到响应命令数据后存储到临时接收缓冲区中;
C、创建同步命令通道检测服务,所述同步命令通道检测服务用于发送心跳命令检测同步命令通道是打开状态还是关闭状态;
D、通过同步命令通道发送同步命令或心跳检测命令,获取空闲的接收缓冲区索引,并设置条件等待阻塞;
E、接收响应服务取出存储到临时接收缓冲区中的数据,并根据索引查找对应的接收缓冲区,将取出的数据写入到对应的接收缓冲区中,并设置唤醒条件;
F、判定等待条件满足唤醒条件时,同步命令或心跳检测命令条件阻塞被唤醒,并从对应索引的接收缓冲区接收数据;判定等待条件不满足唤醒条件时,超过一定时间后,同步命令或心跳检测命令条件进入超时处理;所述接收缓冲区的获取流程如下:当前的接收缓冲区有8个可用空间,同时发送8条命令同时获取8个接收缓冲区索引,接收缓冲空闲;当接收缓冲区收到8条命令行,再发送一条命令就获取不了接收缓冲区索引,接收缓冲无空闲;当8条命令中的5条回响应后,接收缓冲区空闲;发送1条命令获取接收缓冲区索引,接收缓冲区空闲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192816.XA CN102739391B (zh) | 2012-06-13 | 2012-06-13 | 基于异步通信实现同步命令的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192816.XA CN102739391B (zh) | 2012-06-13 | 2012-06-13 | 基于异步通信实现同步命令的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739391A CN102739391A (zh) | 2012-10-17 |
CN102739391B true CN102739391B (zh) | 2015-04-08 |
Family
ID=46994236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210192816.XA Active CN102739391B (zh) | 2012-06-13 | 2012-06-13 | 基于异步通信实现同步命令的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739391B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181780B (zh) | 2016-03-10 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 通信通道处理方法和系统 |
CN109104374B (zh) * | 2018-07-24 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种实现同步下发策略的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107797A (zh) * | 1985-11-18 | 1987-08-19 | 黑斯微型计算机产品公司 | 改进的同步/异步调制解调器 |
JPH09233147A (ja) * | 1996-02-22 | 1997-09-05 | Oki Tsushin Syst Kk | 通信システム |
CN1761258A (zh) * | 2004-10-15 | 2006-04-19 | 三星电子株式会社 | 用于发送同步流的方法和设备 |
-
2012
- 2012-06-13 CN CN201210192816.XA patent/CN102739391B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107797A (zh) * | 1985-11-18 | 1987-08-19 | 黑斯微型计算机产品公司 | 改进的同步/异步调制解调器 |
JPH09233147A (ja) * | 1996-02-22 | 1997-09-05 | Oki Tsushin Syst Kk | 通信システム |
CN1761258A (zh) * | 2004-10-15 | 2006-04-19 | 三星电子株式会社 | 用于发送同步流的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102739391A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103702297B (zh) | 短信增强方法、装置及系统 | |
CN103426208A (zh) | 基于WiFi信号的手机考勤系统 | |
CN106101979A (zh) | 用于短距离无线通信的方法和使用该方法的电子设备 | |
CN103731536B (zh) | 一种共享云端家族通讯录的方法 | |
CN112769897A (zh) | 边缘计算消息的同步方法、装置、电子设备及存储介质 | |
CN107104824A (zh) | 一种网络拓扑确定方法和装置 | |
CN105704742A (zh) | 提供通信服务的方法及其电子设备 | |
CN110825807A (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
CN102932533B (zh) | 一种供第三方应用程序调用联系人的方法和装置 | |
CN108605373A (zh) | 用于提供网络共享服务的方法和电子装置 | |
CN103916526B (zh) | 联系人信息处理方法、装置及移动终端 | |
CN102739391B (zh) | 基于异步通信实现同步命令的方法 | |
CN106105279A (zh) | 设备之间呼叫转移的方法 | |
CN103914286B (zh) | 用户界面中标签页的管理方法和管理器 | |
CN104601448A (zh) | 一种对虚拟卡片进行处理的方法和装置 | |
CN105188041B (zh) | 基于固定电话的呼叫转移方法及家庭网关 | |
CN109361889A (zh) | 控制方法、装置、终端和存储介质 | |
CN101583204A (zh) | 一种实现通用联合电路卡多应用文件管理的方法及系统 | |
CN104410517B (zh) | 一种配置回退的方法和设备 | |
CN105765952B (zh) | 一种账户注册的方法、终端和服务器 | |
CN104951417A (zh) | 一种实现适用于大容量usim的usb复合设备的方法 | |
CN110059091A (zh) | 索引构建的方法、装置、客户端、服务器及系统 | |
CN111585817B (zh) | 一种省电模式的切换方法及装置 | |
CN105430665B (zh) | 实现多网混合规模组网的方法及系统 | |
CN210627299U (zh) | 一种基于NBIoT智能锁对接多方运营商的设计系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |