本发明涉及智计算机软件技术领域,特别涉及一种医疗软件许可文件的回收方法及系统。
背景技术:
医疗软件研发周期长,成本高,且出货量小,所以对软件的版权保护非常重要。又由于医疗软件生命周期较长,产品维护过程中可能需要更换配件、更换设备,因此需要对软件进行重新许可。在对软件进行重新许可之后,需要对软件的旧许可文件进行销毁。在实际的操作中,普遍靠人工销毁旧许可文件,无形中增加了医疗软件维护的成本。因而需要一种有效的软件方法来自动回收旧许可文件。
目前存在一些自动销毁旧许可文件的方法,例如专利号为200810105876.7的《一种软件许可的回收方法》,其通过连接软件开发商服务器,获取软件许可,调用软件保护装置中的软件许可回收模块,删除要回收的软件许可。专利号为201010538203.8的《一种软件许可回收与自动重新申请的方法及系统》,其通过连接软件开发商服务器,发送功能模块软件许可请求,服务端根据请求进行响应,从而实现软件许可的回收和重新申请。现有许可文件回收解决方案均需要连接软件开发商的服务器,并且需要医疗软件接入互联网才能回收。但是现有的医疗软件多为单机应用,基于安全、稳定性方面的考虑都不会接入互联网,所以现有方案都不能满足医疗软件许可文件回收的需求。
因而现有技术还有待改进和提高。
技术实现要素:
本发明要解决的技术问题在于,针对现有技术的不足,提供一种医疗软件许可文件的回收方法及系统,以解决现有医疗软件许可文件回收方法不能满足医疗软件许可文件回收需求的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种医疗软件许可文件的回收方法,其包括:
当装载医疗软件的第一终端设备启动时,读取并广播其携带的第一许可文件;
第二终端设备接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较;
若第一许可文件中携带所述第二许可文件包含的软件识别号,则删除所述第二许可文件。
所述医疗软件许可文件的回收方法,其中,所述当装载医疗软件的第一终端设备启动时,读取并广播其携带的第一许可文件之前包括:
所述第一终端设备通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件,其中,所述第一许可文件包含医疗机构名称、旧软件识别号以及新软件识别号。
所述医疗软件许可文件的回收方法,其中,所述第一终端设备通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件之前还包括:
运营商端接收医疗软件的更新申请,并获取所述申请携带的医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号;
判断是否存储医疗机构名称以及第二终端设备的软件识别号;
当存在时,根据所述医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号生成第一许可文件;
将所述第一许可文件以邮件方式发送至第一终端设备。
所述医疗软件许可文件的回收方法,其中,所述当装载医疗软件的第一终端设备启动时,读取并广播其携带的所述医疗软件的第一许可文件具体包括:
当装载医疗软件的第一终端设备启动时,读取其自身携带的所述医疗软件的第一许可文件;
检测第一许可文件中是否包含所述医疗软件的软件识别号以及医疗机构名称;
若包含,则向所述第一终端设备所处的局域网内广播所述第一许可文件。
所述医疗软件许可文件的回收方法,其中,所述第二终端设备接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较具体包括:
所述第二终端设备接受并解析其所处局域网内携带第一许可文件的广播;
获取并解析其自身携带的第二许可文件,以得到第二终端设备包含的旧软件识别号以及新软件识别号;
判断所述第一许可文件内是否包含所述旧软件识别号或新软件识别号。
一种医疗软件许可文件的回收系统,其包括:均装载医疗软件的第一终端设备和第二终端设备;
所述第一终端设备包括:
读取模块,用于在第一终端设备启动时,读取并广播其携带的第一许可文件;
所述第二终端设备包括:
比较模块,用于接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较;
删除模块,用于当第一许可文件中携带所述第二许可文件包含的软件识别号时,删除所述第二许可文件。
所述医疗软件许可文件的回收系统,其中,所述第一终端设备还包括:
接受模块,用于通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件,其中,所述第一许可文件包含医疗机构名称、旧软件识别号以及新软件识别号。
所述医疗软件许可文件的回收系统,其还包括运营商端;
所述运营商端包括:
获取模块,用于接受医疗软件的更新申请,并获取所述申请携带的医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号;
判断模块,用于判断是否存储医疗机构名称以及第二终端设备的软件识别号;
生成模块,用于当存在时,根据所述医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号生成第一许可文件;
发送模块,用于将所述第一许可文件以邮件方式发送至第一终端设备。
所述医疗软件许可文件的回收系统,其中,所述读取模块具体包括:
读取单元,用于当装载医疗软件的第一终端设备启动时,读取其自身携带的所述医疗软件的第一许可文件;
检测单元,用于检测第一许可文件中是否包含所述医疗软件的软件识别号以及医疗机构名称;
广播单元,用于当包含时,向所述第一终端设备所处的局域网内广播所述第一许可文件。
所述医疗软件许可文件的回收系统,其中,所述比较模块具体包括:
解析单元,用于接受并解析其所处局域网内携带第一许可文件的广播;
获取单元,用于获取并解析其自身携带的第二许可文件,以得到第二终端设备包含的旧软件识别号以及新软件识别号;
判断单元,用于判断所述第一许可文件内是否包含所述旧软件识别号或新软件识别号。
有益效果:与现有技术相比,本发明提供了一种医疗软件许可文件的回收方法及系统,所述方法包括:当装载医疗软件的第一终端设备启动时,读取并广播其携带的第一许可文件;第二终端设备接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较;若第一许可文件中携带所述第二许可文件包含的软件识别号,则删除所述第二许可文件。本发明通过装载医疗软终端广播自身携带的许可文件,以使得与其处于同一局域网内的其他装载所述医疗软件的终端设备自动获取所述许可文件,并与其自身的许可文件对比,并根据对比结果对许可文件进行回收。这样可以使用终端设备无需连接互联网既可以获取旧的许可文件,满足了医疗软件许可文件回收的需求。
附图说明
图1为本发明提供的医疗软件许可文件的回收方法较佳实施的流程图。
图2为本发明提供的医疗软件许可文件的回收系统的结构原理图。
具体实施方式
本发明提供一种医疗软件许可文件的回收方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
终端设备可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的医疗软件许可文件的回收方法的较佳实施例的流程图。所述方法包括:
s100、当装载医疗软件的第一终端设备启动时,读取并广播其携带的第一许可文件;
s200、第二终端设备接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较;
s300、若第一许可文件中携带所述第二许可文件包含的软件识别号,则删除所述第二许可文件。
本实施例公开了一种医疗软件许可文件的回收方法,其通过装载医疗软终端广播自身携带的许可文件,以使得与其处于同一局域网内的其他装载所述医疗软件的终端设备自动获取所述许可文件,并与其自身的许可文件对比,并根据对比结果对许可文件进行回收。这样可以使用终端设备无需连接互联网既可以获取旧的许可文件,满足了医疗软件许可文件回收的需求。
具体的来说,在所述步骤s100中,所述第一许可文件为所述医疗软件的运营商端许可装载所述医疗原件的终端设备使用所述医疗软件的凭证。所述第一许可文件可以包括医疗机构名称、旧软件识别号以及新软件识别号等。在实际应用中,由于终端设备中可能包含多个医疗软件,为了确定所述第一许可文件对应的医疗软件,从而所述第一许可文件中还可以包括软件识别号。所述软件识别号为所述医疗软件全球唯一的软件识别号。也就是说根据所述软件识别号可以唯一的确定一个医疗软件。
所述软件识别号可以在终端设备安装所述医疗软件时,根据医疗软件的运行环境生成的唯一的软件识别号。例如,所述软件识别号是根据医疗软件运行环境的cpu、内存、网卡、硬盘序列号生成一个全球唯一的软件识别号,用于唯一识别软件。所述软件识别号可以表示为如下形式:
软件识别号=random(md5(s1+s2+s3+s4+s5));
其中,s1为cpu序列号,s2为内存序列号,s3为网卡序列号,s4为硬盘序列号,s5为固定字符串kj790ghyt6bjhsa5gm90hygfvbtkjhion,md5为md5算法,其运算结果为长度为32字节的字符串,random为random算法,从32字节字符串中抽取第3、7、11、12、22、29位组成6字节的软件识别号。
相应的,所述第一许可文件生成方法可以为:首先将“软件识别号”、“医疗软件所在机构的名称”、“旧软件识别号”、“新软件识别号”存储到授权文件中,其中,所述软件识别号与所述新软件识别号相同。在完成授权文件存储后,再判断所述医疗机构授权医疗软件是否为新授权,如果授权为新授权,则将“旧软件识别号”填空,否则填新授权之前的软件识别号。然后,对组合字符串进行rsa加密以得到第一许可文件。所述许可文件表示为:
第一许可文件=
其中,s1表示软件识别号,s2表示医疗软件所在机构的名称,s3表示旧软件识别号,s4表示新软件识别号,s5表示固定字符串u9okji8ikmhjuyfdtvhgt65ghb67h23h,
值得说明的,所述第一许可文件是有所述医疗软件运行商生成,并发送给第一终端设备的。所述医疗软件运营商端为所述医疗软件生成的许可文件均采用上述方式生成。这里的第一许可文件就是对许可文件的一个说明,并无具体实际意义。
进一步,由于所述第一许可文件是由运营商端生成,从而所述当装载医疗软件的第一终端设备启动时,读取并广播其携带的第一许可文件之前包括:
s01、所述第一终端设备通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件,其中,所述第一许可文件包含医疗机构名称、旧软件识别号以及新软件识别号。
具体地,第一终端设备通过邮件结束运行商发送的医疗软件的第一许可文件指的是是运营商端将所述第一许可文件发送至医疗软件授权机构制定的邮箱,所述第一终端设备可以直接登录邮箱并获取所述第一许可文件,其也可以是其他终端登录邮箱获取所述第一许可文件,并转存至所述第一终端设备,以使得所述第一终端设备配置所述第一许可文件。
在本发明的一个实施例中,所述第一终端设备通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件之前还包括:
s001、运营商端接收医疗软件的更新申请,并获取所述申请携带的医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号;
s002、判断是否存储医疗机构名称以及第二终端设备的软件识别号;
s003、当存在时,根据所述医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号生成第一许可文件;
s004、将所述第一许可文件以邮件方式发送至第一终端设备。
具体的来说,在所述步骤s001中,所述运营商端接收医疗软件的更新申请可以是医疗软件机构通过邮件方式发送的,也可以是电话方法发送。并且所述申请中携带使用所述医疗软件的医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号。所述第一终端设备的软件识别号指的是第一终端设备安装所述医疗软件时生成的软件识别号,所述第二终端设备的软件识别号为第二终端设备安装所述医疗软件时生成的软件识别号。所述软件识别号的生成过程如上所述,这里不在赘述。
在所述步骤s002中,在用于存储许可文件的数据库内查找医疗机构名称以及第二终端设备的软件识别号。也就是说,所述运营商端根据所述医疗机构名称判断所述医疗机构是否已经授权过所述医疗软件,以此为依据来生成第一许可文件。值得说明,在本实施例中,将所述第二终端设备默认为已经安装所述医疗软件并配置许可文件的设备,这里可以记为旧终端设备,并且其对应的软件识别号为旧软件识别号。将所述第一终端设备默认为需要配置许可文件的设备,这里记为新终端设备,并且其对应的软件识别号为新软件识别号。
在所述步骤s003中,所述存在指的是仅存在所述医疗机构名称或者同时存在所述医疗机构名称和第二终端设备的软件识别号。也就是说,当所述医疗机构名称对应的医疗机构具有所述医疗软件的使用资格时,为所述医疗机构生成相应的许可文件。所述许可文件包含的内容查找到的结构进行相应的配置。具体为,当仅存在所述医疗机构名称时,将机构名称写入许可文件中的“机构名称”字段,将“旧软件识别号”字段写为空,将第一终端设备的软件识别号写入许可文件中的“新软件识别号”。当同时存在医疗机构名称和第二终端设备的软件识别号时,将机构名称写入许可文件中的“机构名称”字段,将第二终端设备的软件识别号写入许可文件中的“旧软件识别号”字段,将第一终端设备的软件识别号写入许可文件中的“新软件识别号”。
在所述步骤s004中,所述将所述第一许可文件以邮件方式发送至第一终端设备指的是将所述第一许可文件以邮件方法发送至医疗机构端,所述医疗机构端可以是所述第一终端设备,也可以是所述医疗机构内的其他终端设备。当为其他终端设备时,在将所述第一许可文件拷贝至所述第一终端设备。
在本实施例中,所述步骤s100:所述当装载医疗软件的第一终端设备启动时,读取并广播其携带的所述医疗软件的第一许可文件具体包括:
s101、当装载医疗软件的第一终端设备启动时,读取其自身携带的所述医疗软件的第一许可文件;
s102、检测第一许可文件中是否包含所述医疗软件的软件识别号以及医疗机构名称;
s103、若包含,则向所述第一终端设备所处的局域网内广播所述第一许可文件。
具体地,所述软件识别号以及医疗机构名称为所述医疗软件预先配置的用于生成医疗诊断报告时显示于医疗显示报告上。所述检测第一许可文件中是否包含所述医疗软件的软件识别号以及医疗机构名称是要判断所述第一许可文件是否为所述医疗软件的许可文件。当包含时,说明所述第一许可文件为所述医疗软件的许可文件,则向所述第一终端设备所处的局域网内广播所述第一许可文件;而当为全部包含时,说明所述第一许可文件不是所述医疗软件的许可文件,则退出所述医疗软件。
在本实施例中,所述局域网指的是所述医疗机构的内部网,其可以通过包括有线、无线、wifi、蓝牙、3g/4g、公有云、私有云等方式形成的。
在所述步骤s200中,所述第二终端设备为与所述第一终端设备处于同一局域网内的装载所述医疗软件的终端设备。所述第二终端设备实时接收局域网内携带许可文件的广播。并根据接收到的许可文件与其自身携带的许可文件进行比较,以确定是否需要删除其安装的医疗软件。
相应的,所述第二终端设备接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较具体包括:
s201、所述第二终端设备接受并解析其所处局域网内携带第一许可文件的广播;
s202、获取并解析其自身携带的第二许可文件,以得到第二终端设备包含的旧软件识别号以及新软件识别号;
s203、判断所述第一许可文件内是否包含所述旧软件识别号或新软件识别号。
具体地,所述第二终端设备接收到所述第一许可文件后,获取所述第一许可文件携带旧软件识别号以及新软件识别号,并将所述第一许可文件携带旧软件识别号以及新软件识别号分别与其自身携带的第二许可文件中的旧软件识别号以及新软件识别号进行比较,以判断其自身携带的第二许可文件是否为旧的许可文件,以根据判断结果进行相应的操作。
在所述步骤s300中,所述若第一许可文件中携带所述第二许可文件包含的软件识别号指的是所述第一许可文件的旧软件识别号为所述第二许可文件的新软件识别号,或者所述第一许可文件的新软件识别号为所述第二可以文件的新软件识别号。当第一许可文件的旧软件识别号为所述第二许可文件的新软件识别号,第二终端设备删除其自身的第二许可文件;当第一许可文件的旧软件识别号为所述第二许可文件的新软件识别号,第二终端设备可以删除其自身的第二许可文件,也可以提示用户所述医疗软件同时在两个设备上使用,根据用户的操作对相应的许可文件进行删除。在实际应用中,也可以将所述提示信息反馈保存,在终端设备连网时,将所述信息反馈至运营商端。
为了进一步说明本发明提供的一种医疗软件许可文件的回收方法,下面结合一个具体实施例加以说明。
实施例一
在本实施例中,假设主机a为安装医疗软件的旧终端,主机b为安装医疗软件的新终端。
本实施例提供的医疗软件许可文件的回收方法,其具体包括:
医疗机构端向医疗运营商端提出更新许可文件申请;
运营商端获取所述医疗机构的医疗机构名称、主机a的软件序列号和主机b的软件序列号,并在预设的客户管理系统中验证是否存在所述医疗机构名称及主机a的软件序列号;如果存在,则将主机b的软件序列号写入许可文件中的“新软件序列号”字段,将机构名称写入许可文件中的“机构名称”字段,将主机a的软件序列号写入许可文件中的“旧软件序列号”字段以许可文件;如果存在,则将主机b的软件序列号写入许可文件中的“新软件序列号”字段,将机构名称写入许可文件中的“机构名称”字段,将许可文件中的“旧软件序列号”写为空,以生成许可文件;以及将所述许可文件通过邮件发送给医疗机构端;
医疗机构端收到所述许可文件后,将所述许可文件拷贝到主机b上;
所述主机b向内部网广播其自身携带的许可文件;
主机a接收到主机b广播的许可信息,核对主机b许可信息中的“旧软件序列号”是否与本机软件识别号一致,如果一致,则删除其自身携带的许可文件。
本发明还提供了一种医疗软件许可文件的回收系统,如图2所示,其包括:均装载医疗软件的第一终端设备100和第二终端设备200;
所述第一终端设备100包括:
读取模块101,用于在第一终端设备启动时,读取并广播其携带的第一许可文件;
所述第二终端设备200包括:
比较模块201,用于接收所述第一许可文件,并将其自身携带的第二许可文件与所述第一许可文件进行比较;
删除模块202,用于当第一许可文件中携带所述第二许可文件包含的软件识别号时,删除所述第二许可文件。
所述医疗软件许可文件的回收系统,其中,所述第一终端设备还包括:
接受模块,用于通过邮件接受运营商端发送的医疗软件的第一许可文件,并配置所述第一许可文件,其中,所述第一许可文件包含医疗机构名称、旧软件识别号以及新软件识别号。
所述医疗软件许可文件的回收系统,其还包括运营商端;
所述运营商端包括:
获取模块,用于接受医疗软件的更新申请,并获取所述申请携带的医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号;
判断模块,用于判断是否存储医疗机构名称以及第二终端设备的软件识别号;
生成模块,用于当存在时,根据所述医疗机构名称、第一终端设备的软件识别号以及第二终端设备的软件识别号生成第一许可文件;
发送模块,用于将所述第一许可文件以邮件方式发送至第一终端设备。
所述医疗软件许可文件的回收系统,其中,所述读取模块具体包括:
读取单元,用于当装载医疗软件的第一终端设备启动时,读取其自身携带的所述医疗软件的第一许可文件;
检测单元,用于检测第一许可文件中是否包含所述医疗软件的软件识别号以及医疗机构名称;
广播单元,用于当包含时,向所述第一终端设备所处的局域网内广播所述第一许可文件。
所述医疗软件许可文件的回收系统,其中,所述比较模块具体包括:
解析单元,用于接受并解析其所处局域网内携带第一许可文件的广播;
获取单元,用于获取并解析其自身携带的第二许可文件,以得到第二终端设备包含的旧软件识别号以及新软件识别号;
判断单元,用于判断所述第一许可文件内是否包含所述旧软件识别号或新软件识别号。
上述医疗软件许可文件的回收系统的各个模块在上述方法中已经详细说明,在这里就不再一一陈述。
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。