G16H40/20 G06Q10/02
1.一种智能疫苗分配方法,其特征在于,包括:
S1:接收预约申请信息;
S2:对预约申请信息进行分类,并存入相应的队列;
S3:从本地安全数据库中读取疫苗信息;根据疫苗信息和预约申请信息,得到预约申请信息的权重;
S4:根据预约申请信息的权重对预约申请信息在相应的队列中进行排序;
S5:根据排序结果进行疫苗分配。
2.根据权利要求1所述的一种智能疫苗分配方法,其特征在于,所述预约申请信息包括出生年月、接种状态、居住地址以及预约申请时间。
3.根据权利要求2所述的一种智能疫苗分配方法,其特征在于,在S2中,
所述接种状态包括需接种第i剂状态和已接种完成状态,i表示疫苗的剂次;
根据接种状态中的需接种第i剂状态,将带有需接种第i剂状态的预约申请信息存入接种第i剂队列。
4.根据权利要求3所述的一种智能疫苗分配方法,其特征在于,所述疫苗信息包括疫苗接种机构编号、疫苗接种机构地址、第i剂疫苗的数量。
5.根据权利要求4所述的一种智能疫苗分配方法,其特征在于,S3中,还包括:根据疫苗信息对预约申请信息进行预处理,得到归一化数据;所述归一化数据包括归一化接种可支配时间、归一化接种时间差、归一化距离以及归一化预约时间差。
6.根据权利要求5所述的一种智能疫苗分配方法,其特征在于,得到所述归一化数据的过程为:
根据出生年月和疫苗接种的年龄期限,得到接种可支配时间,并对接种可支配时间进行数据归一,得到归一化接种可支配时间;
根据接种状态,将自动生成疫苗接种时间,将当前时间与疫苗接种时间做差值计算,得到接种时间差,并对接种时间差进行数据归一,得到归一化接种时间差,归一化接种时间差包括归一化第i剂接种时间差;
计算疫苗接种机构地址与居住地址之间的距离,并对其进行数据归一,得到归一化距离;
将当前时间与预约申请时间做差值计算,得到预约时间差,并对预约时间差进行数据归一,得到归一化预约时间差。
7.根据权利要求6所述的一种智能疫苗分配方法,其特征在于,S3中,得到预约申请信息的权重的过程为:根据接种可支配时间对预约申请信息的权重进行判断,当接种可支配时间小于疫苗接种完成所需的最短时间时,预约申请信息的权重为0;
当接种可支配时间大于等于疫苗接种完成所需的最短时间时,根据接种状态对预约申请信息的权重进行判断,当接种状态为已接种完成状态时,预约申请信息的权重为0;
当接种状态为需接种第i剂状态,且i=1时,根据归一化接种可支配时间、归一化距离以及归一化预约时间差,计算第1剂队列中预约申请信息的权重;
当接种状态为需要接种第i剂状态,且i>1时,根据归一化接种可支配时间、归一化第i剂接种时间差、归一化距离以及归一化预约时间差,计算第i剂队列中预约申请信息的权重。
8.根据权利要求7所述的一种智能疫苗分配方法,其特征在于,S4中,
根据第i剂队列中预约申请信息的权重,并按照权重值降序排列方式,对相应的第i剂队列中的预约申请信息进行排序。
9.根据权利要求4所述的一种智能疫苗分配方法,其特征在于,S5中,根据排序结果对申请者进行疫苗分配,对分配到疫苗的申请者,发送预约成功通知;同时将第i剂疫苗的数量减1,并进行数据更新,将更新后的数据发送至区块链进行上链。
10.根据权利要求1所述的一种智能疫苗分配方法,其特征在于,S1中,在接收到接收申请者填写的预约申请信息后,对预约申请信息使用SHA-256加密方法加密,并存储在安全数据库中。
本发明涉及智能疫苗分配技术领域,具体涉及一种智能疫苗分配方法。
目前越来越多的人意识到接种疫苗的重要性,然而,由于某些疫苗数量少,需求量大,还有接种年龄限制,且各疫苗接种机构信息缺乏共享合作。目前的各种疫苗预约平台的做法基本都是在某一时刻放出疫苗让申请者秒杀,预约方法过于简单,没有客观考虑到申请者的年龄,居住地址等多种因素。很多年龄处在接种限制边缘的人由于抢不到疫苗而错过疫苗接种机会,这都是因为当前疫苗预约系统不够完善,缺乏合理的预约机制,不能合理分配现有的疫苗资源。
因此,本发明要解决的技术问题在于克服现有技术中预约疫苗完全取决于网速和手速,且不能合理分配的缺陷,从而提供一种智能疫苗分配方法。
本发明提供了一种智能疫苗分配方法,包括:
S1:接收预约申请信息;
S2:对预约申请信息进行分类,并存入相应的队列;
S3:从本地安全数据库中读取疫苗信息;根据疫苗信息和预约申请信息,得到预约申请信息的权重;
S4:根据预约申请信息的权重对预约申请信息在相应的队列中进行排序;
S5:根据排序结果进行疫苗分配。
优选的,预约申请信息包括出生年月、接种状态、居住地址以及预约申请时间。
优选的,在S2中,
接种状态包括需接种第i剂状态和已接种完成状态,i表示疫苗的剂次;
根据接种状态中的需接种第i剂状态,将带有需接种第i剂状态的预约申请信息存入接种第i剂队列。
优选的,疫苗信息包括疫苗接种机构编号、疫苗接种机构地址、第i剂疫苗的数量。
优选的,S3中,还包括:根据疫苗信息对预约申请信息进行预处理,得到归一化数据;归一化数据包括归一化接种可支配时间、归一化接种时间差、归一化距离以及归一化预约时间差。
优选的,得到归一化数据的过程为:
根据出生年月和疫苗接种的年龄期限,得到接种可支配时间,并对接种可支配时间进行数据归一,得到归一化接种可支配时间;
根据接种状态,将自动生成疫苗接种时间,将当前时间与疫苗接种时间做差值计算,得到接种时间差,并对接种时间差进行数据归一,得到归一化接种时间差,归一化接种时间差包括归一化第i剂接种时间差;
计算疫苗接种机构地址与居住地址之间的距离,并对其进行数据归一,得到归一化距离;
将当前时间与预约申请时间做差值计算,得到预约时间差,并对预约时间差进行数据归一,得到归一化预约时间差。
优选的,S3中,得到预约申请信息的权重的过程为:根据接种可支配时间对预约申请信息的权重进行判断,当接种可支配时间小于疫苗接种完成所需的最短时间时,预约申请信息的权重为0;
当接种可支配时间大于等于疫苗接种完成所需的最短时间时,根据接种状态对预约申请信息的权重进行判断,当接种状态为已接种完成状态时,预约申请信息的权重为0;
当接种状态为需接种第i剂状态,且i=1时,根据归一化接种可支配时间、归一化距离以及归一化预约时间差,计算第1剂队列中预约申请信息的权重;
当接种状态为需要接种第i剂状态,且i>1时,根据归一化接种可支配时间、归一化第i剂接种时间差、归一化距离以及归一化预约时间差,计算第i剂队列中预约申请信息的权重。
优选的,S4中,根据第i剂队列中预约申请信息的权重,并按照权重值降序排列方式,对相应的第i剂队列中的预约申请信息进行排序。
优选的,S5中,根据排序结果对申请者进行疫苗分配,对分配到疫苗的申请者,发送预约成功通知;同时将第i剂疫苗的数量减1,并进行数据更新,将更新后的数据发送至区块链进行上链。
优选的,S1中,在接收到接收申请者填写的预约申请信息后,对预约申请信息使用SHA-256加密方法加密,并存储在安全数据库中。
本发明技术方案,具有如下优点:通过根据申请者填写的信息以及疫苗信息,实现了智能分配、合理分配疫苗的效果,进而解决了目前很多人在某一时刻抢着预约疫苗、预约疫苗完全取决于网速和手速的问题,达到了用户能够智能预约的目的。
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施中一种智能疫苗分配方法的流程示意图;
图2为本发明实施中第一剂队列的示意图;
图3为本发明实施中第二剂队列的示意图;
图4为本发明实施中第三剂队列的示意图。
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
如图1所示,本实施例提供了一种智能疫苗分配方法,以HPV疫苗分配为例,该方法包括步骤:
S1:接收预约申请信息;
具体的,申请者选择所在地区推荐使用的预约平台,填写预约申请信息后即可提交预约申请,在接收到接收申请者填写的预约申请信息后,对预约申请信息使用SHA-256加密方法加密,并存储在安全数据库中;由于区块链具有去中心化、去信任、防篡改、匿名的安全特性,很好地解决了传统中心式系统架构的缺陷。通过区块链的分布式存储,实现全国各地区的疫苗接种单位均可获得所有的疫苗信息,在对疫苗进行分配后更新数据,随后将数据存入区块链,保证数据一致性;使用加密算法对申请者的个人信息进行加密,保障整个预约过程中申请者的个人隐私;故在本实施例中采用区块链的方式进行存储,用以保护申请者的个人信息安全。
其中,预约申请信息包括:
出生年月,记为birth;接种状态,记为status;居住地址,记为addr;预约申请时间,记为apply_time;接种状态包括需接种第一剂(i=1)、需接种第二剂(i=2)、需接种第三剂(i=3)以及已接种完成(i=4)。
S2:对预约申请信息进行分类,并存入队列;在本实施例中,队列分为三种,其包括第一剂队列、第二剂队列以及第三剂队列;
具体的,如图2、图3、图4所示,图中,R1-Rn表示预约申请信息的序号,ID表示疫苗的剂次序号(1-n),N1-Nn表示疫苗剂次对应的疫苗数量;
根据接种状态中的需接种第一剂状态,将带有需接种第一剂状态的预约申请信息存入接种第一剂队列(i=1);
根据接种状态中的需接种第二剂状态,将带有需接种第二剂的预约申请信息存入接种第二剂队列(i=2);
根据接种状态中的需接种第三剂状态,将带有需接种第三剂的预约申请信息存入接种第三剂队列(i=3)。只有当一个队列中的预约申请全部处理结束,才会处理后面的队列。
S3:从本地安全数据库中读取疫苗信息;根据疫苗信息和存入队列中的预约申请信息,得到预约申请信息的权重;
其中,疫苗信息,表示拥有HPV疫苗接种资质的机构需要上传的信息,其包括:
疫苗接种机构编号,记为id;用于表示在分布式数据库中唯一标识一个疫苗资质机构;
疫苗接种机构地址,记为org_location;后续结合居住地址可以得出申请者与各机构的距离,该距离用于权重计算算法;
第一剂疫苗的数量,记为N1;第二剂疫苗的数量,记为N2;第三剂疫苗的数量,记为N3。
还包括:根据疫苗信息对预约申请信息进行预处理,得到归一化数据;归一化数据包括归一化接种可支配时间、归一化接种时间差、归一化距离以及归一化预约时间差。
具体的,得到归一化数据的过程为:
根据出生年月和疫苗接种的年龄期限,得到接种可支配时间,并对接种可支配时间进行数据归一,得到归一化接种可支配时间,记为Month_left;计算公式为:
Month_left=1-(deadline-ageUseMonth)/Max(deadline – ageUseMonth)
其中,deadline表示疫苗接种的年龄期限(用月份表示),ageUseMonth表示用月数表示申请者的年龄,ageUseMonth= SystemTime– birth;Max(deadline – ageUseMonth)表示请求队列中年龄最小者的接种可支配时间,birth表示出生年月。在本实施例中,以26岁为例,deadline=26*12=312(月),ageUseMonth = 300(月);故得到接种可支配时间为deadline – ageUseMonth= 12(月)。Max(deadline – ageUseMonth)表示该队列中可支配时间最多的预约申请请求对应的可支配时间的月数,用该队列中每个预约申请信息的接种可支配时间除以这个Max(deadline – ageUseMonth)值,将权重值归一至[0,1]之间,又因为接种可支配时间越多的预约申请信息的紧急性越低,故最后Month_left的计算公式如上所示。
举例说明如下:
假设队列中存在10个预约申请信息,其中最小年龄者对应的ageUseMonth= 288(月),Max(deadline – ageUseMonth) = 312-288 = 24(月),
此时,如果该队列中某个预约申请信息的ageUseMonth=300(月),Max(deadline –ageUseMonth) =312-300=12(月),这意味着该预约申请信息对应的申请者还有12个月就过接种期限,无法接种疫苗;那么该预约申请信息的Month_left= 1 – (312-300)/(312-288)= 0.5。
如果该队列中另一个预约申请信息的ageUseMonth=306(月),Max(deadline –ageUseMonth) =312-306=6(月),这意味着该预约申请信息对应的申请者还有6个月就过接种期限,无法接种疫苗,故该预约申请信息的Month_left值应该更大,其Month_left= 1 –(312-306)/(312-288)=0.75。
根据接种状态,将自动生成疫苗接种时间,疫苗接种时间,记为vacc_timei,其中,i为1,2,3;表示第i剂疫苗接种时间;将当前时间与疫苗接种时间做差值计算,得到接种时间差,并对接种时间差进行数据归一,得到归一化接种时间差,接种时间差包括第一剂接种时间差、第二剂接种时间差,归一化接种时间差包括归一化第一剂接种时间差、归一化第二剂接种时间差;其中,第一剂接种时间差,记为gap_days1;第二剂接种时间差,记为gap_days2;归一化第一剂接种时间差,记为Gap_Time1;归一化第二剂接种时间差,记为Gap_Time2;
接种时间差计算公式为:
gap_days i =(SystemTime-vacc_timei)
其中,i为1或2;SystemTime表示当前时间;vacc_timei表示疫苗接种时间;
归一化接种时间差计算公式为:
Gap_Time i =(SystemTime-vacc_timei)/Max(SystemTime-vacc_timei)
其中,i为1或2;SystemTime表示当前时间;Max()表示取最大值函数;vacc_timei表示疫苗接种时间;接种时间差用于表示当前系统时间与第i剂疫苗接种时间相差的天数
计算疫苗接种机构地址与居住地址之间的距离,并对其进行数据归一,得到归一化距离,记为Dist;计算公式为:
Dist=1-distance(addr,org_location)/Max(distance(addr,org_location))
其中,Max()表示取最大值函数;addr表示居住地址;org_location表示疫苗接种机构地址;distance(addr,org_location)表示申请者的居住地址与各疫苗接种机构之间的距离。
将当前时间与预约申请时间做差值计算,得到预约时间差,并对预约时间差进行数据归一,得到归一化预约时间差,记为Order;计算公式为:
Order=(SystemTime-apply_time)/(SystemTime-Min(apply_time))
其中,Min()表示取最小值函数;SystemTime表示当前系统时间;apply_time表示预约申请时间。
结合居住地址、出生年月、疫苗接种时间以及预约申请时间,这四种时空数据,各地区的服务器启动定时任务,每隔30分钟计算该时段内各申请者在队列中的优先级权重。
得到预约申请信息的权重的过程为:
根据接种可支配时间对预约申请信息的权重进行判断,当接种可支配时间小于4个月时,预约申请信息的权重为0(表示申请者在最乐观的情况下也不能在规定的年龄限制前完成疫苗接种);在本实施例中HPV疫苗接种3剂完成所需的最短时间为4个月;
当接种可支配时间大于4个月时,根据接种状态对预约申请信息的权重进行判断,当接种状态为已接种完成状态时,预约申请信息的权重为0(表示申请者已经完成所有剂次疫苗的接种);
当接种状态为需接种第一剂状态时,根据归一化接种可支配时间、归一化距离以及归一化预约时间差,计算第一剂队列中预约申请信息的权重;对于零接种历史的适龄女性,计算权重时,申请者与疫苗接种机构间的归一化距离Dist和申请者的出生年月被赋予较大的权重,并且分为:
预约申请信息与本地区疫苗接种机构的权重,计算公式为:
其中,表示第一剂队列中预约申请信息与本地区疫苗接种机构的权重,Order表示归一化预约时间差,Month_left表示归一化接种可支配时间,Dist表示归一化距离;
预约申请信息与非本地区疫苗接种机构的权重,计算公式为:
其中,表示第一剂队列中预约申请信息与非本地区疫苗接种机构的权重,Order表示归一化预约时间差,Month_left表示归一化接种可支配时间,Dist表示归一化距离;
不难看出,预约申请信息与本地区疫苗接种机构的权重,赋予归一化距离的权重要大于,预约申请信息与非本地区疫苗接种机构的权重;
对和取最大值,即,得到第一剂队列中预约申请信息的权重。
当接种状态为需接种第二剂状态时,对于已经接种过第一剂疫苗的申请者,需要根据第一剂接种时间差对预约申请信息的权重进行判断,当第一剂接种时间差小于30天(即gap_days1<30)时,预约申请信息的权重为0(表示时间间隔过短,不予以安排预约);否则,根据归一化接种可支配时间、归一化第一剂接种时间差、归一化距离以及归一化预约时间差,计算第二剂队列中预约申请信息的权重;分别为:
其中,表示第二剂队列中预约申请信息与本地区疫苗接种机构的权重,表示第二剂队列中预约申请信息与非本地区疫苗接种机构的权重;Order表示归一化预约时间差,Month_left表示归一化接种可支配时间,Dist表示归一化距离,Gap_Time1表示归一化第一剂接种时间差;在计算预约申请信息与本地区疫苗接种机构的权重。在计算时,赋予归一化距离Dist的系数为15%,要大于的10%,表示希望有限选择本地区疫苗接种机构。
对和取最大值,即,得到第二剂队列中预约申请信息的权重。
当接种状态为需接种第三剂状态时,对于接种过第二剂疫苗的申请者,需要根据第二剂接种时间差对预约申请信息的权重进行判断,当第二剂接种时间差小于90天(即gap_days2<90)时,预约申请信息的权重为0(表示时间间隔过短,不予以安排预约);否则,根据归一化接种可支配时间、归一化第二剂接种时间差、归一化距离以及归一化预约时间差,计算第三剂队列中预约申请信息的权重;分为:
其中,表示第三剂队列中预约申请信息与本地区疫苗接种机构的权重,表示第三剂队列中预约申请信息与非本地区疫苗接种机构的权重;Order表示归一化预约时间差,Month_left表示归一化接种可支配时间,Dist表示归一化距离,Gap_Time2表示归一化第二剂接种时间差;
对和取最大值,即,得到第三剂队列中预约申请信息的权重。
S4:根据预约申请信息的权重对存入队列中的预约申请信息进行排序;
具体地,
根据第一剂队列中预约申请信息的权重,并按照权重值降序排列方式,对第一剂队列中的预约申请信息进行排列;
根据第二剂队列中预约申请信息的权重,并按照权重值降序排列方式,对第二剂队列中的预约申请信息进行排列;
根据第三剂队列中预约申请信息的权重,并按照权重值降序排列方式,对第三剂队列中的预约申请信息进行排列;
考虑到后面队列中可能存在权重很大预约申请信息,服务器在每天的固定时刻会计算一次所有队列中各预约申请信息的权重,并按照权重值大小重新均分为若干个队列,其中按照权重值降序排列。在本实施例中为服务器设置一个时刻作为每天的固定时刻。
S5:根据排序结果进行疫苗分配;
具体地,根据排序结果,将同一队列中权重最大的预约申请信息进行疫苗分配,(进而指向,最大权重值的预约申请信息所对应的申请者),以图2中的为例,其表示第一剂队列中权重最大的预约申请信息,Weight(Rn,1)表示第一剂次疫苗的第n个预约申请信息的权重;
对分配到疫苗的申请者,发送预约成功通知的短信;同时将第一剂疫苗的数量或第二剂疫苗的数量或第三剂疫苗的数量减1,并进行数据更新,将更新后的数据发送至区块链进行上链。
本实施例提供的这种智能疫苗分配方法具有如下有益效果:
通过根据申请者填写的信息以及疫苗信息,实现了智能分配、合理分配疫苗的效果,进而解决了目前很多人在某一时刻抢着预约疫苗、预约疫苗完全取决于网速和手速的问题,达到了用户能够智能预约的目的。
实现了只要申请者将预约申请信息填写好并上传服务器,服务器就会根据预约申请信息中提供的时空数据实现智能分类疫苗的目的,并通过短信的方式通知申请者。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
本文发布于:2023-04-13 09:09:38,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86394.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |