掌桥专利:专业的专利平台
掌桥专利
首页

物联网私有协议辅助转换方法、装置、设备和存储介质

文献发布时间:2024-04-18 19:58:21


物联网私有协议辅助转换方法、装置、设备和存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种物联网私有协议辅助转换方法、装置、计算机设备和存储介质。

背景技术

在REST(Application Programming Interface,表现层转态转移)API(Application Programming Interface,应用程序编程接口)领域,对API的开发、测试有POSTMAN(接口测试工具)等设计测试工具。在改造REST架构的旧软件项目时此POSTMAN工具提高了旧系统的接口梳理及更新的效率,但是物联网领域使用私有协议的项目却几乎没有类似的工具可用,即便有也并不公开。

然而,缺乏适用的工具导致项目在需要更新协议时往往障碍较大,原因有很多,比如当时的开发者已经不再维护代码或者离职、项目未给出说明文档等,而借助开源项目做产品原型或技术调研时往往在了解和更改通信协议时遭遇障碍,主要是很难了解到项目的接口、文档、源代码结构描述等,也不是很熟悉要转换到的特定领域的标准协议。

现有的一个方案是,手动分析通信组件、组件间通信关系、协议内容等,然后根据自己的理解输出旧项目的协议部分的描述文档,再依据要使用的标准协议的要求重新设计原型系统的通信接口部分。

但是,此方案不光太耗资源,在此开源项目有商业版本时还将面临描述文档被封锁等资料欠缺的情形,而且手动分析的效率也比较低。

发明内容

基于此,有必要针对上述技术问题,提供一种的物联网私有协议辅助转换方法、装置、计算机设备和存储介质,能够自动通过开源项目源代码找出物联网私有协议修改清单,可用于辅助物联网私有协议转换为物联网标准协议,提高效率。

一种物联网私有协议辅助转换方法,该方法包括:

获取开源项目源代码;

根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;

从物联网私有协议命令列表中查找目标命令对应的通信往来清单;

从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;

根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

在其中一个实施例中,根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表,包括:根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令。

在其中一个实施例中,根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,包括:根据套接字字符串从开源项目源代码中确定对应的第一关键字符串,根据套接字符串和第一关键字符串确定匹配的第一通信实体。

在其中一个实施例中,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,包括:根据套接字字符串从开源项目源代码中查找匹配的第一文件名、第一函数名以及第一关联通信操作,根据第一文件名、第一函数名和第一关联通信操作生成套接字字符串对应的第一物联网私有协议命令。

在其中一个实施例中,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,包括:根据物联网命令从开源项目源代码中确定对应的第二关键字符串,根据物联网命令和第二关键字符串确定匹配的第二通信实体。

在其中一个实施例中,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令,包括:根据物联网命令从开源项目源代码中查找匹配的第二文件名、第二函数名以及第二关联通信操作,根据第二文件名、第二函数名和第二关联通信操作生成物联网命令对应的第二物联网私有协议命令。

在其中一个实施例中,从物联网私有协议命令列表中查找目标命令对应的通信往来清单,包括:根据物联网命令从物联网私有协议命令列表中查找关联的套接字字符串和关键字符串,根据套接字字符串和关键字符串从物联网私有协议命令列表中查找匹配的通信往来清单。

在其中一个实施例中,从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系,包括:查找物联网私有协议命令列表中套接字符串的读函数和/或写函数,根据读函数和/或写函数获取对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。

一种物联网私有协议辅助转换装置,该装置包括:

第一获取模块,用于获取开源项目源代码;

识别模块,用于根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;

查找模块,用于从物联网私有协议命令列表中查找目标命令对应的通信往来清单;

第二获取模块,用于从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;

生成模块,用于根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取开源项目源代码;

根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;

从物联网私有协议命令列表中查找目标命令对应的通信往来清单;

从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;

根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取开源项目源代码;

根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;

从物联网私有协议命令列表中查找目标命令对应的通信往来清单;

从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;

根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

上述物联网私有协议辅助转换方法、装置、计算机设备和存储介质,获取开源项目源代码,根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表,从物联网私有协议命令列表中查找目标命令对应的通信往来清单,从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系,根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

因此,能够通过开源项目源代码找出物联网私有协议修改清单,而物联网私有协议修改清单可用于辅助物联网私有协议转换为物联网标准协议,提高协议转换效率。进一步地,基于开源项目源代码进行处理,还可以避免开源项目源代码的浪费,合理利用开源项目源代码。

附图说明

图1为一个实施例中物联网私有协议辅助转换方法的流程示意图;

图2为一个实施例中物联网私有协议辅助转换装置的结构框图;

图3为一个实施例中计算机设备的内部结构图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种物联网私有协议辅助转换方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:

步骤102,获取开源项目源代码。

其中,开源项目源代码是那些源代码公开,可以被自由使用、复制、修改和再发布的一系列软件的集合,因此,可以采集或者爬虫得到开源项目源代码,对开源项目源代码进行分析,得到物联网私有协议转换为标准协议的辅助文档,避免开源项目源代码的浪费。

步骤104,根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表。

其中,预置关键字符串可以是预先设置的关键字符串,可以用来识别物联网私有协议中存在的可能用来识别功能语义的关键词,具体可以根据实际业务需求、实际产品需求或实际应用场景进行预先设置。具体地,获取预置关键字符串,根据预置关键字符串从开源项目源代码中识别匹配的至少一个通信实体,组成通信实体列表,同时,还可以根据预置关键字符串从开源项目源代码中查找对应的至少一条物联网私有命令,得到物联网私有协议命令列表。即,通信实体列表清单是开源项目源代码中所有通信实体的集合,而物联网私有协议命令列表是开源项目源代码中所有物联网私有协议命令的集合。

其中,所谓物联网私有协议也称物联网非标准协议,是未经国际或国家标准化组织采纳或批准,由某个企业自己制订,协议实现细节不愿公开,只在企业自己生产的设备之间使用的协议。这儿特质构建在TCP协议(Transmission Control Protocol,传输控制协议)之上的应用层协议。

步骤106,从物联网私有协议命令列表中查找目标命令对应的通信往来清单。

其中,通信往来清单是物联网私有协议命令列表中物联网私有协议命令对应的通信实体之间的数据交互关系,例如每一物联网私有协议命令对应的通信过程究竟谁发谁收。其中,目标命令可以是物联网相关命令,可以根据实际业务需求、实际产品需求或实际应用场景从物联网相关命令中确定目标命令,例如IOT命令为目标命令。

具体地,确定目标命令,从物联网私有协议命令列表中查找与目标命令匹配的通信往来清单纪录,根据通信往来清单记录生成通信往来清单。

步骤108,从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系。

其中,目标函数列表是物联网私有协议命令列表中至少一个目标函数的集合,包括目标函数之间的函数调用关系。具体地,从物联网私有协议命令列表中确定目标函数,根据目标函数查找上层调用函数,建立目标函数与上层调用函数之间的函数调用关系,得到目标函数列表。

步骤110,根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

具体地,在得到通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表后,可以将通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表组成物联网私有协议修改清单,该物联网私有协议修改清单可以用于辅助物联网私有协议转换为物联网标准协议,该物联网私有协议修改清单可以给相关开发人员,开发人员可以根据物联网私有协议修改清单的内容,将物联网私有协议转换为物联网标准协议,合理利用开源项目源代码,提高物联网私有协议的转换率。

上述物联网私有协议辅助转换方法中,获取开源项目源代码,根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表,从物联网私有协议命令列表中查找目标命令对应的通信往来清单,从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系,根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

因此,能够通过开源项目源代码找出物联网私有协议修改清单,而物联网私有协议修改清单可用于辅助物联网私有协议转换为物联网标准协议,提高协议转换效率。进一步地,基于开源项目源代码进行处理,还可以避免开源项目源代码的浪费,合理利用开源项目源代码。

在一个实施例中,根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表,包括:根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令。

其中,套接字符串socket是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制,Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点。

具体地,根据套接字符串socket从开源项目源代码查找匹配的第一通信实体,例如tcp服务端、客户端。同时根据套接字符串socket从开源项目源代码中寻找相关的物联网私有协议命令,得到第一物联网私有协议命令。

进一步地,除了套接字字符串socket之外,还可以根据物联网命令IOT从开源项目源代码查找匹配的第二通信实体,例如tcp服务端、客户端。同时根据物联网命令IOT从开源项目源代码中寻找相关的物联网私有协议命令,得到第二物联网私有协议命令。

在一个实施例中,根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,包括:根据套接字字符串从开源项目源代码中确定对应的第一关键字符串,根据套接字符串和第一关键字符串确定匹配的第一通信实体。

其中,套接字字符串socket对应的第一通信实体具体可以是,根据套接字字符串socket先从开源项目源代码中确定对应的第一关键字符串,例如,套接字字符串socket对应的第一关键字符串为listen,套接字字符串socket对应的第一关键字符串为write。进一步地,结合套接字符串和第一关键字符串确定匹配的第一通信实体,例如,套接字字符串socket与第一关键字符串read确定对应的第一通信实体为客户端,套接字字符串socket与第一关键字符串listen确定对应的第一通信实体为服务端。

在一个实施例中,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,包括:根据套接字字符串从开源项目源代码中查找匹配的第一文件名、第一函数名以及第一关联通信操作,根据第一文件名、第一函数名和第一关联通信操作生成套接字字符串对应的第一物联网私有协议命令。

具体地,根据套接字字符串从开源项目源代码中查找到匹配的第一文件名、第一函数名以及第一关联通信操作,例如,b.c文件中匹配到套接字字符串socket,且此套接字字符串socket还关联了一个socket写操作(第一通信操作),查找的第一函数名为f2。

例如,根据套接字字符串socket查找的第一物联网私有协议命令如下表所示:

在一个实施例中,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,包括:根据物联网命令从开源项目源代码中确定对应的第二关键字符串,根据物联网命令和第二关键字符串确定匹配的第二通信实体。

具体地,物联网命令可以是IOT命令,将IOT命令作为预置关键字符串,从开源项目源代码中查找匹配的第二通信实体。具体可以是,先根据物联网命令先从开源项目源代码中查找匹配的第二关键字符串,结合IOT命令和第二关键字符串可以确定第二通信实体。例如,IOT命令在开源项目源代码中匹配的第二关键字符串为ping,结合IOT命令和第二关键字符串ping可以确定第二通信实体为服务端。

在一个实施例中,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令,包括:根据物联网命令从开源项目源代码中查找匹配的第二文件名、第二函数名以及第二关联通信操作,根据第二文件名、第二函数名和第二关联通信操作生成物联网命令对应的第二物联网私有协议命令。

具体地,根据物联网命令IOT命令从开源项目源代码中查找到匹配的第二文件名、第二函数名以及第二关联通信操作,例如,a.c文件中匹配到物联网命令IOT,且此物联网命令IOT还关联了一个收操作(第二通信操作),查找的第二函数名为f1。

例如,根据物联网命令查找的第二物联网私有协议命令如下表所示:

在一个实施例中,从物联网私有协议命令列表中查找目标命令对应的通信往来清单,包括:根据物联网命令从物联网私有协议命令列表中查找关联的套接字字符串和关键字符串,根据套接字字符串和关键字符串从物联网私有协议命令列表中查找匹配的通信往来清单。

具体地,可以根据物联网命令IOT从物联网私有协议命令列表中查询与其关联的关键字符串和套接字字符串socket,结合关键字符串和套接字字符串socket再从物联网私有协议命令列表中查找匹配的通信往来记录,得到通信往来清单,其中,通信往来记录中包括通信往来实体,以及各通信往来实体之间的交互关系,例如,某个命令对应的通信过程究竟收发对象是谁。

例如,物联网私有协议命令列表如下表所示,由上述套接字字符串的第一物联网私有协议命令和物联网命令对应的第二物联网私有协议命令组成:

进一步地,根据物联网命令IOT从上述物联网私有协议命令列表中查询匹配的通信往来清单如下表所示:

在一个实施例中,从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系,包括:查找物联网私有协议命令列表中套接字符串的读函数和/或写函数,根据读函数和/或写函数获取对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。

具体地,从物联网私有协议命令列表中查找套接字符串socket的读函数和/或写函数,再根据读函数和/或写函数查找对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。进一步地,根据上层调用关系函数查找对应的上上层调用函数,建立上层调用关系函数与对应的上上层调用函数之间的函数调用关系。

例如,物联网私有协议命令列表如下表所示,由上述套接字字符串的第一物联网私有协议命令和物联网命令对应的第二物联网私有协议命令组成:

进一步地,套接字符串的读函数和/或写函数对应的目标函数列表如下表所示:

在一个具体的应用场景中,可以通过辅助系统来辅助物联网私有协议转换至物联网标准协议,辅助系统具体可以通过以下步骤来实现:

基于分词从开源项目源代码codebase中识别出tcp通信的多个通信实体(即tcp服务端、客户端),识别出物联网命令映射的通信动作(例如一个PING命令对应了某个通信实体写socket),识别出数据包的封包解包函数(例如关键字pack)和报文的结构。该辅助系统输出通信实体列表、物联网协议命令列表(说明:实际上每个命令都对应一个通信动作或是发消息或是收消息)、通信实体间的数据交互关系列表(某个命令对应的通信过程究竟谁发谁收)、读写socket的函数列表及这些函数间的调用关系。

其中,该辅助系统整体上划分为分词模块、源代码通信实体确认、物联网命令确认、通信往来汇总、MQTT消息订阅者、发布者改造模块、修改清单模块、MQTT新通信测试模块等模块构成。

分词模块,管理文本分词的模块。分词是指在socket读写函数名、物联网命令等中存在的可用来识别功能语义的关键字,比如bind关键字可用于识别socket服务端实体。

源代码通信实体确认模块,是指通过分析源代码中的tcp socket的服务端、客户端来确认不同的通信实体。

物联网命令确认模块,是指分析根据不同条件读写socket的代码部分,汇总这些不同的条件。读写条件一般出现在代码switch结构的case部分,通常是宏定义且包含“CMD”字样,其确认含义就是物联网命令。这些命令可以作为MQTT协议的消息主题。

通信往来汇总模块,是指将通信实体间的各个通信往来作汇总分析刑成一张清单。

MQTT消息订阅者、发布者改造模块。将使用私有协议的tcp socket客户端、服务端改造为MQTT消息订阅者或发布者。一般通信实体即是订阅者又是发布者。

修改清单模块,该组件输出需要修改的函数列表。需要修改的函数数量可能很多,修改形式可以是参数个数变化(比如需要新增参数),形参含义变化(比如将socket改为handle即手柄等)等。

MQTT新通信测试模块,是指辅助系统改造后的通信测试,比如内置MQTT服务器、mqtt消息订阅和发布函数库等。

应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图2所示,提供了一种物联网私有协议辅助转换装置200,包括:第一获取模块202、识别模块204、查找模块206、第二获取模块208和生成模块210,其中:

第一获取模块202,用于获取开源项目源代码。

识别模块204,用于根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表。

查找模块206,用于从物联网私有协议命令列表中查找目标命令对应的通信往来清单。

第二获取模块208,用于从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系。

生成模块210,用于根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

在一个实施例中,识别模块204根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令。

在一个实施例中,识别模块204根据套接字字符串从开源项目源代码中确定对应的第一关键字符串,根据套接字符串和第一关键字符串确定匹配的第一通信实体。

在一个实施例中,识别模块204根据套接字字符串从开源项目源代码中查找匹配的第一文件名、第一函数名以及第一关联通信操作,根据第一文件名、第一函数名和第一关联通信操作生成套接字字符串对应的第一物联网私有协议命令。

在一个实施例中,识别模块204根据物联网命令从开源项目源代码中确定对应的第二关键字符串,根据物联网命令和第二关键字符串确定匹配的第二通信实体。

在一个实施例中,识别模块204根据物联网命令从开源项目源代码中查找匹配的第二文件名、第二函数名以及第二关联通信操作,根据第二文件名、第二函数名和第二关联通信操作生成物联网命令对应的第二物联网私有协议命令。

在一个实施例中,查找模块206根据物联网命令从物联网私有协议命令列表中查找关联的套接字字符串和关键字符串,根据套接字字符串和关键字符串从物联网私有协议命令列表中查找匹配的通信往来清单。

在一个实施例中,第二获取模块208查找物联网私有协议命令列表中套接字符串对应的读函数和/或写函数,根据读函数和/或写函数获取对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。

关于物联网私有协议辅助转换装置的具体限定可以参见上文中对于物联网私有协议辅助转换方法的限定,在此不再赘述。上述物联网私有协议辅助转换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储物联网私有协议修改清单。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物联网私有协议辅助转换方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物联网私有协议辅助转换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图3或图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取开源项目源代码;根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;从物联网私有协议命令列表中查找目标命令对应的通信往来清单;从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中确定对应的第一关键字符串,根据套接字符串和第一关键字符串确定匹配的第一通信实体。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中查找匹配的第一文件名、第一函数名以及第一关联通信操作,根据第一文件名、第一函数名和第一关联通信操作生成套接字字符串对应的第一物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从开源项目源代码中确定对应的第二关键字符串,根据物联网命令和第二关键字符串确定匹配的第二通信实体。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从开源项目源代码中查找匹配的第二文件名、第二函数名以及第二关联通信操作,根据第二文件名、第二函数名和第二关联通信操作生成物联网命令对应的第二物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从物联网私有协议命令列表中查找关联的套接字字符串和关键字符串,根据套接字字符串和关键字符串从物联网私有协议命令列表中查找匹配的通信往来清单。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:查找物联网私有协议命令列表中套接字符串的读函数和/或写函数,根据读函数和/或写函数获取对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取开源项目源代码;根据预置关键字符串从开源项目源代码中识别得到通信实体列表和物联网私有协议命令列表;从物联网私有协议命令列表中查找目标命令对应的通信往来清单;从物联网私有协议命令列表中获取目标函数列表,目标函数列表包括目标函数和对应的函数调用关系;根据通信实体列表、物联网私有协议命令列表、通信往来清单和目标函数列表得到物联网私有协议修改清单,物联网私有协议修改清单用于辅助物联网私有协议转换为物联网标准协议。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中查找匹配的第一通信实体,根据套接字字符串从开源项目源代码中查找匹配的第一物联网私有协议命令,根据物联网命令从开源项目源代码中查找匹配的第二通信实体,根据物联网命令从开源项目源代码中查找匹配的第二物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中确定对应的第一关键字符串,根据套接字符串和第一关键字符串确定匹配的第一通信实体。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据套接字字符串从开源项目源代码中查找匹配的第一文件名、第一函数名以及第一关联通信操作,根据第一文件名、第一函数名和第一关联通信操作生成套接字字符串对应的第一物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从开源项目源代码中确定对应的第二关键字符串,根据物联网命令和第二关键字符串确定匹配的第二通信实体。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从开源项目源代码中查找匹配的第二文件名、第二函数名以及第二关联通信操作,根据第二文件名、第二函数名和第二关联通信操作生成物联网命令对应的第二物联网私有协议命令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物联网命令从物联网私有协议命令列表中查找关联的套接字字符串和关键字符串,根据套接字字符串和关键字符串从物联网私有协议命令列表中查找匹配的通信往来清单。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:查找物联网私有协议命令列表中套接字符串的读函数和/或写函数,根据读函数和/或写函数获取对应的上层调用函数,建立读函数和/或写函数与对应的上层调用函数之间的函数调用关系。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 时间转换方法及装置、设备、存储介质、处理器
  • 一种代码转换方法、装置及设备、存储介质
  • 脚本转换方法、装置、计算机设备及存储介质
  • 图像转换方法、装置、电子设备及存储介质
  • 一种语言转换方法、装置、设备及存储介质
  • 用于物联网的协议转换方法、装置及计算机可读存储介质
  • 私有协议分析方法、装置、计算机设备及可读存储介质
技术分类

06120116480890