一种基于注册表和http协议的软件通信交互方法
技术领域
本申请涉及软件通信技术领域,具体而言,涉及一种基于注册表和http协议的软件通信交互方法。
背景技术
注册表,是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息,早在windows3.0推出OLE技术的时候,注册表就已经出现。随后推出的WindowsNT是第一个从系统级别广泛使用注册表的操作系统。但是。从Micros Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。
Web应用,是一种可以通过web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。
本地应用,一般指的是直接安装在机器上的软件,比如win电脑上的exe程序。
现有技术是软件体系中各个软件比较独立,不同端的软件没法很好的关联在一起,而且一般基于web应用的软件在很多高级的功能体验上不如本地软件,比如在一些互动,视频等等。整体的软件体系的架设对用户的体验上不是特别的完美。
发明内容
本申请的主要目的在于提供一种基于注册表和http协议的软件通信交互方法,以改善相关技术中,不同端的软件没法很好的关联在一起,影响用户体验的问题。
为了实现上述目的,本申请提供了一种基于注册表和http协议的软件通信交互方法,包括:
S1:软件安装,获取本地软件安装包并安装该本地软件,并将该本地软件信息按照浏览器软件注册协议,注册到该浏览器注册表中;
S2:唤醒软件,通过该浏览器访问web系统,并通过登录模块进入到web系统内部,打开web系统中的各种系统模块,唤醒与系统模块配合的该本地软件;
S3:开启本地端口,调用该本地软件程序时,对端口占用情况进行检测,并在出现端口占用时,调用系统服务杀掉占用进程,启动本地端口,以确保该本地软件能够正常启动;
S4:插件类软件的设置,插件类软件以悬浮球的形式显示,并增设关闭功能,同时,增设重新登录功能。
在本申请的一种实施例中,在软件安装之前,需对计算机本身配置进行更改,以防软件信息无法写入浏览器注册表,包括解禁组策略和/或注册表添加权限,解禁组策略包括如下步骤:
S111:调取组策略界面,在开始菜单中打开运行程序,然后在打开的运行框中输入gpedit.msc命令并确定;
S112:进入组策略,选中“用户配置”并进入其子项的“管理模板”;
S113:完成解禁组策略,打开“管理模板”的子项,从中选定“系统”这一项,找到“阻止访问注册表编辑工具”并打开,在“设置”项下,选择“未配置”这一项,然后先按“应用”,再按“确定”,完成组策略中的“阻止访问注册表”成功解除;
注册表添加权限包括如下步骤:
S121:调取注册表编辑器窗口,在开始菜单中打开运行程序,然后在打开的运行框中输入regedit命令并确定;
S122:进入注册表编辑器窗口,按照安装时本地软件提示窗口中显示的路径,在注册表选择相应路径;
S123:定位路径并添加用户名,按照上述路径定位其所属项,右击后进入“权限”,在“组或用户名称”中没有当前用户时,那就要“添加”一个;如果用户名称已经存在,则选择自已用户名,然后在下面的权限列表框中,勾选“允许”下的“完全控制”复选框,然后按“应用”与“确定”退出注册表;
S124:重启计算机,注册表修改后,重启一次计算机,使修改生效,即可安装该程序。
在本申请的一种实施例中,在软件安装中,注册脚本安装之前,关闭计算机本身的防火墙和杀毒软件,注册脚本安装时,将本地应用的安装地址写到注册表中;注册脚本卸载时,删掉注册表的软件信息。
在本申请的一种实施例中,在唤醒软件前,通过调用ActiveX控件、或本地软件在浏览器上面装插件、或本地软件对特定协议做解析三种方式的其中之一,判断是否安装本地软件。
在本申请的一种实施例中,选择调用ActiveX控件判断是否安装本地软件时,选用的浏览器为ie浏览器;选择本地软件在浏览器上面装插件具体方式为:通过JavaScript访问浏览器本地协议,并检测当前页面焦点,当超过额定时间,页面焦点没有失去,也就是没弹出提示框,则提醒下载软件;选择本地软件对特定协议做解析,本地软件识别的文件有其特定的格式。
在本申请的一种实施例中,检测当前页面焦点,额定时间的取值范围为0.8s-1.2s。
在本申请的一种实施例中,在软件程序监听http端口中,启动的端口为高位端口,且本地端口启动后,web应用不需要再借助注册表来与本地软件交互,可以直接通过http协议,与本地软件通过json包进行通信。
在本申请的一种实施例中,本地软件通过http协议与web应用交互后,本地软件直接与网页端通信,且将业务信息直接发送到云端。
在本申请的一种实施例中,本地软件直接与网页端通信后,对本地软件的打开、资料的下载、本地软件的显示和本地软件的关闭进行控制;业务信息包括本地软件的登录时间、本地软件的运行时间和本地软件的行为轨迹,以便于业务的开展。
在本申请的一种实施例中,在插件类软件的设置中,在插件类软件经唤醒后,登录该插件类软件本身的服务器,如果在别的电脑上也登录的话,那么当前电脑的插件显示登录异常界面,选择重新登录功能,使得当前的插件能够正常工作。
与现有技术相比,本申请的有益效果是:
1、本申请基于注册表和http协议的软件通信交互方法,其软件安装和环形软件步骤,将本地软件的注册协议注册到浏览器注册表中,便于后续对该本地软件的环唤醒,并通过登录模块进入到web系统内部,打开web系统中的各种系统模块,唤醒本地软件,利用本地软件显示网页视频、文档等数据,且本地软件的功能一般比网页功能强大,用户体验上比仅仅依赖于web应用,体验更好;
2、本申请基于注册表和http协议的软件通信交互方法,其开启本地端口步骤,对端口占用情况进行检测,并在出现端口占用时,调用系统服务杀掉占用进程,启动本地端口,以确保该本地软件能够正常启动,让web应用和本地应用在使用上,改善断层问题,体验上更加流畅,让不同端的应用像是一个整体,更好的增加使用体验;
3、本申请基于注册表和http协议的软件通信交互方法,其插件类软件的设置步骤,能够对插件类软件的关闭和重新登录进行设置,进而方便对插件类软件的操作,方便使用;
4、本申请基于注册表和http协议的软件通信交互方法,通过调用ActiveX控件、或本地软件在浏览器上面装插件、或本地软件对特定协议做解析三种方式的其中之一,判断是否安装本地软件,可以自动检测本地软件的下载,更加方便使用。
附图说明
图1为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的流程示意框图;
图2为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的解禁组策略流程示意框图;
图3为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的注册表添加权限流程示意框图;
图4为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的判断是否安装本地软件的选项示意框图;
图5为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的本地软件在浏览器上面装插件流程示意框图;
图6为根据本申请实施例提供的基于注册表和http协议的软件通信交互方法的注册脚本安装示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例1
请参阅图1-图6,本申请提供了一种基于注册表和http协议的软件通信交互方法,包括:
S1:软件安装,获取本地软件安装包并安装该本地软件,并将该本地软件信息按照浏览器软件注册协议,注册到该浏览器注册表中;
S2:唤醒软件,通过该浏览器访问web系统,并通过登录模块进入到web系统内部,打开web系统中的各种系统模块,唤醒与系统模块配合的该本地软件;
S3:开启本地端口,调用该本地软件程序时,对端口占用情况进行检测,并在出现端口占用时,调用系统服务杀掉占用进程,启动本地端口,以确保该本地软件能够正常启动;
S4:插件类软件的设置,插件类软件以悬浮球的形式显示,并增设关闭功能,同时,增设重新登录功能。
在本实施例中,在软件安装之前,需对计算机本身配置进行更改,以防软件信息无法写入浏览器注册表,包括解禁组策略和/或注册表添加权限,解禁组策略包括如下步骤:
S111:调取组策略界面,在开始菜单中打开运行程序,然后在打开的运行框中输入gpedit.msc命令并确定;
S112:进入组策略,选中“用户配置”并进入其子项的“管理模板”;
S113:完成解禁组策略,打开“管理模板”的子项,从中选定“系统”这一项,找到“阻止访问注册表编辑工具”并打开,在“设置”项下,选择“未配置”这一项,然后先按“应用”,再按“确定”,完成组策略中的“阻止访问注册表”成功解除;
注册表添加权限包括如下步骤:
S121:调取注册表编辑器窗口,在开始菜单中打开运行程序,然后在打开的运行框中输入regedit命令并确定;
S122:进入注册表编辑器窗口,按照安装时本地软件提示窗口中显示的路径,在注册表选择相应路径;
S123:定位路径并添加用户名,按照上述路径定位其所属项,右击后进入“权限”,在“组或用户名称”中没有当前用户时,那就要“添加”一个;如果用户名称已经存在,则选择自已用户名,然后在下面的权限列表框中,勾选“允许”下的“完全控制”复选框,然后按“应用”与“确定”退出注册表;
S124:重启计算机,注册表修改后,重启一次计算机,使修改生效,即可安装该程序。
在本实施例中,在软件安装中,注册脚本安装之前,关闭计算机本身的防火墙和杀毒软件,注册脚本安装时,将本地应用的安装地址写到注册表中;注册脚本卸载时,删掉注册表的软件信息。
在本实施例中,在唤醒软件前,通过调用ActiveX控件、或本地软件在浏览器上面装插件、或本地软件对特定协议做解析三种方式的其中之一,判断是否安装本地软件。
在本实施例中,选择调用ActiveX控件判断是否安装本地软件时,选用的浏览器为ie浏览器;选择本地软件在浏览器上面装插件具体方式为:通过JavaScript访问浏览器本地协议,并检测当前页面焦点,当超过额定时间,页面焦点没有失去,也就是没弹出提示框,则提醒下载软件;选择本地软件对特定协议做解析,本地软件识别的文件有其特定的格式。
在本实施例中,检测当前页面焦点,额定时间的取值范围为0.8s-1.2s。
在本实施例中,在软件程序监听http端口中,启动的端口为高位端口,且本地端口启动后,web应用不需要再借助注册表来与本地软件交互,可以直接通过http协议,与本地软件通过json包进行通信。
在本实施例中,本地软件通过http协议与web应用交互后,本地软件直接与网页端通信,且将业务信息直接发送到云端。
在本实施例中,本地软件直接与网页端通信后,对本地软件的打开、资料的下载、本地软件的显示和本地软件的关闭进行控制;业务信息包括本地软件的登录时间、本地软件的运行时间和本地软件的行为轨迹,以便于业务的开展。
在本实施例中,在插件类软件的设置中,在插件类软件经唤醒后,登录该插件类软件本身的服务器,如果在别的电脑上也登录的话,那么当前电脑的插件显示登录异常界面,选择重新登录功能,使得当前的插件能够正常工作。
实施例2
以教材列表模块,教材列表模块是展示各个出版社的电子教材,每一本教材都有重要的元数据说明,比如隶属于哪个出版社,年份,版本号等,以打开教材的方式来说,一般分为两大类,一类是直接能够在浏览器打开的,比如一些网页类型的教材,还有一些依赖flash的教材,另一类是依托本地应用的教材,这类教材往往在用户体验上更佳。
一种基于注册表和http协议的软件通信交互方法,包括:
在动画软件安装之前,需对计算机本身配置进行更改,通过解禁组策略以防动画软件信息无法写入浏览器注册表,解禁组策略包括如下步骤:
S111:调取组策略界面,在开始菜单中打开运行程序,然后在打开的运行框中输入gpedit.msc命令并确定;
S112:进入组策略,选中“用户配置”并进入其子项的“管理模板”;
S113:完成解禁组策略,打开“管理模板”的子项,从中选定“系统”这一项,找到“阻止访问注册表编辑工具”并打开,在“设置”项下,选择“未配置”这一项,然后先按“应用”,再按“确定”,完成组策略中的“阻止访问注册表”成功解除。
获取本地动画软件安装包并安装该本地动画软件,并将该本地动画软件信息按照浏览器动画软件注册协议,注册到该浏览器注册表中,注册脚本安装之前,关闭计算机本身的防火墙和杀毒软件,注册脚本安装时,将本地应用的安装地址写到注册表中;注册脚本卸载时,删掉注册表的动画软件信息。
选用ie浏览器打开动画教材,通过该ie浏览器访问web系统,并通过登录模块进入到web系统内部,打开web系统中的各种系统模块,调用ActiveX控件判断是否安装本地动画软件,唤醒与系统模块配合的该本地动画软件。
调用该本地动画软件程序时,对端口占用情况进行检测,并在出现端口占用时,调用系统服务杀掉占用进程,启动本地端口,启动的端口为高位端口,避免低位端口,会被系统一些常用的服务占用,而导致动画软件不能正常启动现象发生的可能性,且本地端口启动后,web应用不需要再借助注册表来与本地动画软件交互,可以直接通过http协议,与本地动画软件通过json包进行通信,以确保该本地动画软件能够正常启动,本地动画软件通过http协议与web应用交互后,本地动画软件直接与网页端通信,且将业务信息直接发送到云端,对本地动画软件的打开、资料的下载、本地动画软件的显示和本地动画软件的关闭进行控制,如控制教材的打开和下载;业务信息包括本地动画软件的登录时间、本地动画软件的运行时间和本地动画软件的行为轨迹,以便于业务的开展。
若该本地动画软件为插件类动画软件,以悬浮球的形式显示,并增设关闭功能,同时,增设重新登录功能,在插件类动画软件经唤醒后,登录该插件类动画软件本身的服务器,如果在别的电脑上也登录的话,那么当前电脑的插件显示登录异常界面,选择重新登录功能,使得当前的插件能够正常工作。
采用上述的交互方法,可以简便的将教材信息在本地动画软件上展示,利用本地动画软件的强大性能,提供更好的教学服务,使得教学和使用体验更好。
实施例3
以视频播放软件为例,以打开视频的方式来说,一般分为两大类,一类是直接能够在浏览器打开的,比如一些网页类型的视频。
一种基于注册表和http协议的软件通信交互方法,包括:
在视频软件安装之前,需对计算机本身配置进行更改,通过注册表添加权限以防视频软件信息无法写入浏览器注册表,通过注册表添加权限包括如下步骤:
S121:调取注册表编辑器窗口,在开始菜单中打开运行程序,然后在打开的运行框中输入regedit命令并确定;
S122:进入注册表编辑器窗口,按照安装时本地视频软件提示窗口中显示的路径,在注册表选择相应路径;
S123:定位路径并添加用户名,按照上述路径定位其所属项,右击后进入“权限”,在“组或用户名称”中没有当前用户时,那就要“添加”一个;如果用户名称已经存在,则选择自已用户名,然后在下面的权限列表框中,勾选“允许”下的“完全控制”复选框,然后按“应用”与“确定”退出注册表;
S124:重启计算机,注册表修改后,重启一次计算机,使修改生效,即可安装该程序。
获取本地视频软件安装包并安装该本地视频软件,并将该本地视频软件信息按照浏览器视频软件注册协议,注册到该浏览器注册表中,注册脚本安装之前,关闭计算机本身的防火墙和杀毒软件,注册脚本安装时,将本地应用的安装地址写到注册表中;注册脚本卸载时,删掉注册表的视频软件信息。
选用浏览器打开动画教材,通过该浏览器访问web系统,并通过登录模块进入到web系统内部,打开web系统中的各种系统模块,通过本地视频软件在浏览器上面装插件判断是否安装本地视频软件,通过JavaScript访问浏览器本地协议,并检测当前页面焦点,当超过额定时间,页面焦点没有失去,也就是没弹出提示框,则提醒下载视频软件,唤醒与系统模块配合的该本地视频软件。
调用该本地视频软件程序时,对端口占用情况进行检测,并在出现端口占用时,调用系统服务杀掉占用进程,启动本地端口,启动的端口为高位端口,避免低位端口,会被系统一些常用的服务占用,而导致视频软件不能正常启动现象发生的可能性,且本地端口启动后,web应用不需要再借助注册表来与本地视频软件交互,可以直接通过http协议,与本地视频软件通过json包进行通信,以确保该本地视频软件能够正常启动,本地视频软件通过http协议与web应用交互后,本地视频软件直接与网页端通信,且将业务信息直接发送到云端,对本地视频软件的打开、资料的下载、本地视频软件的显示和本地视频软件的关闭进行控制,如播放视频的种类、播放视频的进度和播放视频的速度等进行控制;业务信息包括本地视频软件的登录时间、本地视频软件的运行时间和本地视频软件的行为轨迹,以便于业务的开展。
若该本地视频软件为插件类视频软件,以悬浮球的形式显示,并增设关闭功能,同时,增设重新登录功能,在插件类视频软件经唤醒后,登录该插件类视频软件本身的服务器,如果在别的电脑上也登录的话,那么当前电脑的插件显示登录异常界面,选择重新登录功能,使得当前的插件能够正常工作。
采用上述的方式,可以直接通过http端口打开本体视频软件,可以活的更好的用户体验。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。